猿问

如何获得Node.js目录中所有文件的名称列表?

如何获得Node.js目录中所有文件的名称列表?

我正在尝试使用Node.js获取目录中所有文件的名称列表。我希望输出是一个文件名数组。我该怎么做?



GCT1015
浏览 1757回答 3
3回答

收到一只叮咚

您可以使用fs.readdir或fs.readdirSync方法。瑞迪尔const testFolder = './tests/';const fs = require('fs');fs.readdir(testFolder, (err, files) => {   files.forEach(file => {     console.log(file);   });});fs.readdirSyncconst testFolder = './tests/';const fs = require('fs');fs.readdirSync(testFolder).forEach(file => {   console.log(file);});这两种方法的不同之处在于,第一种方法是异步的,因此您必须提供一个回调函数,在读取进程结束时执行该回调函数。第二个是同步的,它将返回文件名数组,但它将停止代码的任何进一步执行,直到读取进程结束。

白衣非少年

要完成这样的任务,最方便的方法是使用格罗布工具。这是一个GLOB封装用于node.js。用npm install glob然后使用通配符来匹配文件名(示例取自软件包的网站)var glob = require("glob")// options is optionalglob("**/*.js", options, function (er, files) {   // files is an array of filenames.   // If the `nonull` option is set, and nothing   // was found, then files is ["**/*.js"]   // er is an error object or null.})
随时随地看视频慕课网APP
我要回答