nodejs는 폴더 선택을 구현합니다.
Node.js는 웹 애플리케이션, API, 명령줄 도구 등을 구축하는 데 널리 사용되는 인기 있는 백엔드 JavaScript 프로그래밍 언어입니다. Node.js에서는 때때로 사용자가 프로그램에서 읽고, 쓰고, 수정할 폴더를 선택하도록 해야 합니다. 이 기사에서는 Node.js를 사용하여 폴더를 선택하는 방법을 소개합니다.
1. 기본 Node.js를 사용하여 폴더 선택
Node.js는 파일 시스템을 작동하기 위한 fs 모듈을 제공합니다. fs 모듈에는 디렉토리의 모든 파일과 하위 디렉토리를 읽을 수 있는 readdir이라는 메소드가 있습니다. 다음은 기본 Node.js를 사용하여 폴더를 선택하는 코드 예제입니다.
const fs = require('fs'); const path = require('path'); let dir = process.argv[2] || '.'; fs.readdir(dir, (err, files) => { if (err) throw err; console.log('请选择一个文件夹:'); files.forEach(file => { let filePath = path.join(dir, file); fs.stat(filePath, (err, stats) => { if (err) throw err; if (stats.isDirectory()) { console.log(`[${file}]`); } else { console.log(file); } }); }); process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { data = data.trim(); let filePath = path.join(dir, data); fs.stat(filePath, (err, stats) => { if (err) throw err; if (stats.isDirectory()) { process.stdin.pause(); console.log(`已选择[${data}]文件夹!`); } else { console.log(`${data}不是一个有效的文件夹!`); } }); }); });
코드는 먼저 fs.readdir 메서드를 사용하여 사용자가 지정한 폴더를 읽은 다음 fs.stat 메서드를 사용하여 각 파일이 폴더입니다. 마지막으로 process.stdin을 사용하여 사용자 입력을 얻습니다. 사용자 입력이 폴더인 경우 사용자가 해당 폴더를 선택했음을 의미합니다.
2. 타사 모듈을 사용하여 폴더 선택
기본 Node.js를 사용하는 것 외에도 타사 모듈을 사용하여 폴더를 선택할 수도 있습니다. 다음은 폴더 선택을 위한 두 가지 일반적인 타사 모듈입니다.
- inquirer
inquirer는 웹 양식을 개발하는 것처럼 명령줄에서 대화형 선택 항목을 만들 수 있는 강력한 대화형 명령줄 사용자 인터페이스 라이브러리입니다. 다음은 Inquirer를 사용하여 폴더를 선택하는 코드 예제입니다.
const inquirer = require('inquirer'); const fs = require('fs'); const path = require('path'); let dirs = fs .readdirSync('.') .filter(file => { return fs.statSync(file).isDirectory(); }) .map(dir => { return { name: `[${dir}]`, value: dir }; }); inquirer .prompt([ { type: 'list', name: 'dir', message: '请选择一个文件夹:', choices: dirs, }, ]) .then(answer => { console.log(`已选择[${answer.dir}]文件夹!`); });
코드는 fs.readdirSync 메서드를 사용하여 현재 디렉터리의 모든 폴더를 읽고, filter 메서드를 사용하여 모든 폴더를 필터링합니다. 그러면 각 폴더는 map 메소드를 통해 객체로 캡슐화되어 질문자의 선택 목록에 폴더 이름이 표시될 수 있습니다. 마지막으로 inquirer.prompt 메소드를 사용하여 사용자가 폴더를 선택할 수 있도록 선택 목록을 팝업하고, Answer.dir을 사용하여 사용자가 선택한 폴더의 이름을 가져옵니다.
- file-tree-select
file-tree-select는 inquirer와 node-file-tree를 기반으로 구축된 파일 선택기 플러그인입니다. 명령줄에서 현재 디렉터리의 파일 트리를 표시할 수 있으며, 사용자는 키보드의 위쪽 및 아래쪽 화살표와 스페이스바를 통해 폴더를 선택할 수 있습니다. 다음은 file-tree-select를 사용하여 폴더를 선택하는 코드 예제입니다.
const fileTreeSelect = require('file-tree-select'); const path = require('path'); let dir = process.argv[2] || '.'; let absDir = path.resolve(dir); fileTreeSelect(absDir, { hideFiles: true }).then(result => { console.log(`已选择[${result}]文件夹!`); });
코드는 먼저 path.resolve 메서드를 사용하여 사용자가 입력한 폴더 이름을 절대 경로로 확인합니다. 그런 다음 fileTreeSelect 메소드를 사용하여 현재 디렉토리의 파일 트리를 표시하고 사용자는 키보드 조작을 사용하여 폴더를 선택할 수 있습니다. 마지막으로 .then 메소드를 사용하여 사용자가 선택한 폴더 경로를 가져옵니다.
3. 요약
폴더 선택은 Node.js에서 일반적인 작업입니다. 이 기사에서는 기본 Node.js, inquirer 및 file-tree-select를 사용하여 폴더를 선택하는 세 가지 방법을 소개합니다. 소규모 프로젝트의 경우 기본 Node.js를 사용하면 대규모 프로젝트의 요구 사항을 충족할 수 있으며 타사 모듈을 사용하면 개발 효율성과 코드 품질을 향상시킬 수 있습니다.
위 내용은 nodejs는 폴더 선택을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Data Fetching 및 기능 구성 요소의 DOM 조작과 같은 부작용을 관리하기위한 후크 인 React의 useEffect에 대해 설명합니다. 메모리 누출과 같은 문제를 방지하기 위해 사용법, 일반적인 부작용 및 정리를 설명합니다.

게으른로드는 필요할 때까지 컨텐츠로드를 지연시켜 초기로드 시간과 서버로드를 줄임으로써 웹 성능 및 사용자 경험을 향상시킵니다.

이 기사는 가상 Dom 트리를 비교하여 DOM을 효율적으로 업데이트하는 React의 조정 알고리즘을 설명합니다. 성능 이점, 최적화 기술 및 사용자 경험에 미치는 영향에 대해 설명합니다. 문자 수 : 159

이 기사는 다중 연계 기능을 단일 연계 함수 시퀀스로 변환하는 기술 인 JavaScript의 카레에 대해 논의합니다. Currying의 구현, 부분 응용 프로그램 및 실제 용도와 같은 혜택, 코드 읽기 향상을 탐색합니다.

JavaScript의 고차 기능은 추상화, 공통 패턴 및 최적화 기술을 통해 코드 간접성, 재사용 성, 모듈성 및 성능을 향상시킵니다.

기사는 Connect ()를 사용하여 React 구성 요소를 Redux Store에 연결하고 MapStateToprops, MapDispatchtoprops 및 성능 영향을 설명합니다.

이 기사는 REACT의 USECONTEXT를 설명하며, 이는 PROP 시추를 피함으로써 상태 관리를 단순화합니다. 중앙 집중식 상태 및 성능 개선과 같은 렌더링을 통해 성능 향상과 같은 이점에 대해 논의합니다.

기사에서는 extentdefault () 메서드를 사용하여 이벤트 처리기의 기본 동작 방지, 향상된 사용자 경험과 같은 이점 및 접근성 문제와 같은 잠재적 문제에 대해 논의합니다.
