nodejs implémente la sélection du dossier
Node.js est un langage de programmation JavaScript back-end populaire largement utilisé pour créer des applications Web, des API, des outils de ligne de commande, etc. Dans Node.js, vous devez parfois laisser les utilisateurs sélectionner des dossiers à lire, écrire et modifier dans le programme. Cet article explique comment utiliser Node.js pour sélectionner un dossier.
1. Utilisez Node.js natif pour sélectionner les dossiers
Node.js fournit le module fs pour faire fonctionner le système de fichiers. Dans le module fs, il existe une méthode appelée readdir, qui peut lire tous les fichiers et sous-répertoires d'un répertoire. Voici un exemple de code qui utilise Node.js natif pour sélectionner un dossier :
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}不是一个有效的文件夹!`); } }); }); });
Le code utilise d'abord la méthode fs.readdir pour lire le dossier spécifié par l'utilisateur, puis utilise la méthode fs.stat pour déterminer si chaque fichier est un dossier. Enfin, process.stdin est utilisé pour obtenir l'entrée de l'utilisateur. Si l'entrée de l'utilisateur est un dossier, cela signifie que l'utilisateur a sélectionné le dossier.
2. Utilisez des modules tiers pour sélectionner des dossiers
En plus d'utiliser Node.js natif, vous pouvez également utiliser des modules tiers pour sélectionner des dossiers. Voici deux modules tiers courants pour sélectionner des dossiers.
- inquirer
inquirer est une puissante bibliothèque d'interface utilisateur de ligne de commande interactive qui peut créer des sélections interactives sur la ligne de commande, tout comme le développement de formulaires Web. Voici un exemple de code qui utilise le demandeur pour sélectionner un dossier :
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}]文件夹!`); });
Le code utilise la méthode fs.readdirSync pour lire tous les dossiers du répertoire actuel et utilise la méthode filter pour filtrer tous les dossiers. Ensuite, chaque dossier est encapsulé dans un objet via la méthode map, afin que le nom du dossier puisse être affiché dans la liste de sélection du demandeur. Enfin, utilisez la méthode Inquirer.prompt pour afficher une liste de sélection afin de permettre à l'utilisateur de sélectionner un dossier, et utilisez Answer.dir pour obtenir le nom du dossier sélectionné par l'utilisateur.
- file-tree-select
file-tree-select est un plugin de sélection de fichiers construit sur le demandeur et le nœud-file-tree. Il peut afficher l'arborescence des fichiers dans le répertoire actuel sur la ligne de commande et les utilisateurs peuvent sélectionner des dossiers via les flèches haut et bas et la barre d'espace du clavier. Voici un exemple de code qui utilise file-tree-select pour sélectionner un dossier :
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}]文件夹!`); });
Le code utilise d'abord la méthode path.resolve pour résoudre le nom de dossier saisi par l'utilisateur en un chemin absolu. Utilisez ensuite la méthode fileTreeSelect pour afficher l'arborescence des fichiers dans le répertoire actuel, et l'utilisateur peut utiliser les opérations du clavier pour sélectionner le dossier. Enfin, utilisez la méthode .then pour obtenir le chemin du dossier sélectionné par l'utilisateur.
3.Résumé
La sélection d'un dossier est une opération courante dans Node.js. Cet article présente trois façons de sélectionner des dossiers à l'aide de Node.js natif, de l'enquêteur et de la sélection d'arborescence de fichiers. Pour les petits projets, l'utilisation de Node.js natif peut répondre aux besoins ; pour les grands projets, l'utilisation de modules tiers peut améliorer l'efficacité du développement et la qualité du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.
