Comment démarrer rapidement avec VUE3.0 : Entrez dans le
Le module de chemin est utilisé pour traiter les chemins et les fichiers et fournit de nombreuses méthodes.
Une exigence deest de concaténer le chemin et le nom du fichier.
const basePath = '/utilisateur/pourquoi' const filename = 'abc.txt'
Ensuite, quelqu'un utilisera l'épissage de chaînes pour épisser.
const filePath = basePath + '/' + nom de fichier console.log(filePath);
Bien qu'un tel résultat ne pose aucun problème, compte tenu des différents systèmes, le système Windows peut utiliser ou \ ou / comme séparateur de chemin, tandis que les systèmes d'exploitation Unix de Mac OS et Linux utilisent / comme séparateur de chemin. le symbole du séparateur de chemin.
Pour résoudre le problème ci-dessus, nous pouvons utiliser path.resolve pour épisser les chemins.
const chemin = require('chemin') const basePath = '/utilisateur/pourquoi' const nom de fichier = 'abc.txt' const filePath = chemin.resolve (basePath, nom de fichier) console.log(filePath);
const path = require('path') const filePath = '/Utilisateur/haha/abc.txt' console.log(chemin.dirname(filePath)); console.log(chemin.basename(filePath)); console.log(chemin.extname(filePath));
Si nous voulons épisser plusieurs chemins, mais que différents systèmes d'exploitation peuvent utiliser des délimiteurs différents, nous pouvons utiliser la fonction path.join.
const chemin = require('chemin') const chemin de base = '/Utilisateur/haha' const nom de fichier = 'abc.txt' const filePath = path.join (chemin de base, nom de fichier) console.log(filePath);
Si nous voulons fusionner un fichier et un dossier, nous pouvons utiliser path.resolve.
const basepath = 'Utilisateur/haha' const nom de fichier = 'abc.txt'
Path.resolve et path.join peuvent également être utilisés pour relier des chemins, alors quelle est leur différence ?
const chemin de base = '../Utilisateur/haha' const nom de fichier = './abc.txt' const autre nom = './haha.js' const filePath1 = path.join (chemin de base, nom de fichier, autre nom) console.log(filePath1); const filePath2 = path.resolve (chemin de base, nom de fichier, autre nom) console.log(filePath2);
Nous pouvons voir la différence.
La plupart des API du système de fichiers nodejsproposent trois méthodes de fonctionnement :
Opération de fichier synchrone : le code sera bloqué et ne continuera pas à exécuter
la fonction de rappel asynchrone. Opération de fichier : le code ne sera pas bloqué et une fonction de rappel doit l'être. transmis lorsque le résultat est obtenu. , la fonction de rappel exécute
un fichier d'opération Promise asynchrone : le code ne sera pas bloqué. L'appel des opérations de méthode via fs.promises renverra une promesse, qui pourra ensuite être traitée et interceptée.
méthode 1 opération synchrone : fs.statSync
const fs = require('fs') chemin de fichier const = './abc.txt' const info = fs.statSync (chemin du fichier) console.log('Code qui doit être exécuté ultérieurement'); console.log(infos);
Méthode 2, opération asynchrone
fs.stat(filepath, (err, info) => { si (erreur) { console.log(err); retour } console.log(infos); console.log(info.isFile()); // Détermine s'il s'agit d'un fichier console.log(info.isDirectory()); // Détermine s'il s'agit d'un dossier}) console.log('Code qui doit être exécuté plus tard');
Troisième méthode : Promesse
fs.promises.stat(filepath).then(info => { console.log(infos); }).catch(erreur => { console.log(err); }) console.log('Code à exécuter ultérieurement');
nœud descripteur de fichier attribue un descripteur de fichier numérique à tous les fichiers ouverts. Toutes les opérations du système de fichiers utilisent ces descripteurs de fichiers pour identifier et suivre chaque fichier spécifique.
La méthode fs.open() est utilisée pour allouer un nouveau descripteur de fichier fd. Une fois alloué, le descripteur de fichier peut être utilisé pour lire des données du fichier, écrire des données dans le fichier ou demander des informations sur le fichier.
const fs = exiger('fs') fs.open('./abc.txt', (err, fd) => { si (erreur) { console.log(err); retour } // Récupère les informations sur le fichier via les descripteurs de fichier fs.fstat(fd, (err, info) => { console.log(infos); }) })
fs.readFile(path[, options], callback) : Lire le contenu du fichier
fs.writeFile(path[, options], callback) : Écrire le contenu dans le fichier
option paramètres :
flag : writing Mode
encodage :
écriture du fichier
d'encodage de caractèresfs.writeFile('./abc.txt', content, {flag: "a"}, err => { console.log(err); })
Lecture du fichier
fs.readFile('./abc.txt', (err, data) => { console.log(données); })
Si l'encodage n'est pas renseigné, le résultat Buffer (binaire) sera renvoyé.
fs.readFile('./abc.txt', {encodage : 'utf-8'}, (erreur, données) => { console.log(données); })
Utilisez fs.mkdir() ou fs.mkdirSync pour créer un nouveau dossier.
const fs = exiger('fs') //Créer un dossier const dirname = './haha' if(!fs.existsSync(dirname)) { fs.mkdir(nomrép, (err) => { console.log(err); }) }
fs.readdir
fs.readdir(dirname, (err, files) => { console.log(fichiers); })
Obtenez tous les fichiers du dossier À ce stade, le répertoire est comme indiqué dans la figure ci-dessous. Vous pouvez utiliser la récursion.
const fs = exiger('fs') const chemin = require('chemin') const répertoire = './haha' fonction getFiles (nom de répertoire) { fs.readdir(dirname, {withFileTypes: true}, (err, fichiers) => { // console.log(fichiers); pour (laisser fichier de fichiers) { // Détermine s'il s'agit d'un dossier if(file.isDirectory()) { const chemin de fichier = chemin.resolve (nom de répertoire, nom de fichier) getFiles (chemin du fichier) } autre { console.log(fichier.nom); } } }) } getFiles(dirname)
Vous pouvez utiliser fs.rename pour renommer le dossier.
fs.rename('./haha', './xixi', err => { console.log(err); })