Node.js ialah bahasa pengaturcaraan JavaScript bahagian belakang yang popular yang digunakan secara meluas untuk membina aplikasi web, API, alatan baris arahan, dsb. Dalam Node.js, kadangkala anda perlu membenarkan pengguna memilih folder untuk membaca, menulis dan mengubah suai dalam program. Artikel ini akan memperkenalkan cara menggunakan Node.js untuk memilih folder.
1. Gunakan Node.js asli untuk memilih folder
Node.js menyediakan modul fs untuk mengendalikan sistem fail. Dalam modul fs, terdapat kaedah yang dipanggil readdir, yang boleh membaca semua fail dan subdirektori dalam direktori. Berikut ialah contoh kod yang menggunakan Node.js asli untuk memilih folder:
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}不是一个有效的文件夹!`); } }); }); });
Kod pertama kali menggunakan kaedah fs.readdir untuk membaca folder yang ditentukan pengguna, dan kemudian menggunakan kaedah fs.stat untuk tentukan sama ada setiap fail Bukan folder. Akhir sekali, process.stdin digunakan untuk mendapatkan input pengguna Jika input pengguna ialah folder, ia bermakna pengguna memilih folder.
2. Gunakan modul pihak ketiga untuk memilih folder
Selain menggunakan Node.js asli, anda juga boleh menggunakan modul pihak ketiga untuk memilih folder. Berikut ialah dua modul pihak ketiga biasa untuk memilih folder.
- inquirer
inquirer ialah perpustakaan antara muka pengguna baris arahan interaktif yang berkuasa yang boleh membuat pilihan interaktif pada baris arahan seperti membangunkan borang web. Berikut ialah contoh kod yang menggunakan penyiasat untuk memilih folder:
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}]文件夹!`); });
Kod ini menggunakan kaedah fs.readdirSync untuk membaca semua folder dalam direktori semasa dan menggunakan kaedah penapis untuk menapis semua folder. Kemudian setiap folder dikapsulkan ke dalam objek melalui kaedah peta, supaya nama folder boleh dipaparkan dalam senarai pilihan penyiasat. Akhir sekali, gunakan kaedah inquirer.prompt untuk memaparkan senarai pilihan untuk membenarkan pengguna memilih folder dan gunakan answer.dir untuk mendapatkan nama folder yang dipilih oleh pengguna.
- file-tree-select
file-tree-select ialah pemalam pemilih fail yang dibina pada inquirer dan node-file-tree. Ia boleh memaparkan pepohon fail dalam direktori semasa pada baris arahan, dan pengguna boleh memilih folder melalui anak panah atas dan bawah serta bar ruang papan kekunci. Berikut ialah contoh kod yang menggunakan fail-tree-select untuk memilih folder:
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}]文件夹!`); });
Kod pertama kali menggunakan kaedah path.resolve untuk menyelesaikan nama folder yang dimasukkan oleh pengguna ke dalam laluan mutlak. Kemudian gunakan kaedah fileTreeSelect untuk memaparkan pepohon fail dalam direktori semasa, dan pengguna boleh menggunakan operasi papan kekunci untuk memilih folder. Akhir sekali, gunakan kaedah .then untuk mendapatkan laluan folder yang dipilih oleh pengguna.
3. Ringkasan
Memilih folder ialah operasi biasa dalam Node.js. Artikel ini memperkenalkan tiga cara untuk memilih folder menggunakan Node.js asli, inquirer dan file-tree-select. Untuk projek kecil, menggunakan Node.js asli boleh memenuhi keperluan untuk projek besar, menggunakan modul pihak ketiga boleh meningkatkan kecekapan pembangunan dan kualiti kod.
Atas ialah kandungan terperinci nodejs melaksanakan pemilihan folder. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Hubungan antara HTML dan React adalah teras pembangunan front-end, dan mereka bersama-sama membina antara muka pengguna aplikasi web moden. 1) HTML mentakrifkan struktur kandungan dan semantik, dan React membina antara muka dinamik melalui komponenisasi. 2) Komponen React Gunakan sintaks JSX untuk membenamkan HTML untuk mencapai rendering pintar. 3) Kitaran Hayat Komponen Menguruskan Rendering HTML dan Kemas kini secara dinamik mengikut keadaan dan atribut. 4) Gunakan komponen untuk mengoptimumkan struktur HTML dan meningkatkan keupayaan. 5) Pengoptimuman prestasi termasuk mengelakkan penyampaian yang tidak perlu, menggunakan atribut utama, dan menjaga tanggungjawab tunggal komponen.

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, dengan komponen terasnya dan pengurusan negeri. 1) Memudahkan pembangunan UI melalui komponen dan pengurusan negeri. 2) Prinsip kerja termasuk perdamaian dan rendering, dan pengoptimuman dapat dilaksanakan melalui React.Memo dan Usememo. 3) Penggunaan asas adalah untuk membuat dan membuat komponen, dan penggunaan lanjutan termasuk menggunakan cangkuk dan konteksapi. 4) Kesalahan biasa seperti kemas kini status yang tidak betul, anda boleh menggunakan ReactDevTools untuk debug. 5) Pengoptimuman prestasi termasuk menggunakan react.memo, senarai virtualisasi dan codesplitting, dan menyimpan kod yang boleh dibaca dan dikekalkan adalah amalan terbaik.

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

React Mode Strict adalah alat pembangunan yang menyoroti isu -isu yang berpotensi dalam aplikasi React dengan mengaktifkan cek tambahan dan amaran. Ia membantu mengenal pasti kod warisan, hayat yang tidak selamat, dan kesan sampingan, menggalakkan amalan reaksi moden.

Serpihan bertindak balas membolehkan kumpulan kanak -kanak tanpa nod dom tambahan, meningkatkan struktur, prestasi, dan kebolehaksesan. Mereka menyokong kekunci untuk rendering senarai yang cekap.

Artikel ini membincangkan proses perdamaian React, memperincikan bagaimana ia mengemas kini DOM dengan cekap. Langkah -langkah utama termasuk mencetuskan perdamaian, mewujudkan DOM maya, menggunakan algoritma yang berbeza, dan memohon kemas kini DOM yang minimum. Ia juga meliputi perfo


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver Mac版
Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.