在node环境中,如何读取一个程序下public文件夹中一个文件夹中的所有文件的文件名,并让他成为一个数组的方式存储到一个常量中
时间: 2024-10-09 22:01:43 浏览: 49
在Node.js环境中,你可以使用`fs`模块来读取文件夹内容并将其转换为数组。首先,你需要安装`fs-extra`库,它提供了更方便的文件系统操作功能。如果没有安装,可以运行`npm install fs-extra`。
下面是一个示例,展示了如何获取`public`文件夹中特定子文件夹内的所有文件名并存储在一个数组中:
```javascript
const fs = require('fs-extra');
const path = require('path');
// 定义要读取的文件夹路径
const publicFolderPath = 'public/subfolder'; // 指定你的子文件夹路径
const filePath = `${__dirname}/${publicFolderPath}/`;
async function readFilesInFolder() {
try {
// 使用fs-extra.readdirSync方法同步读取文件夹内容
const files = await fs.readdir(filePath);
// 过滤出非目录文件
const fileNames = files.filter((file) => !fs.lstatSync(`${filePath}${file}`).isDirectory());
// 存储文件名到常量
const fileListConstant = fileNames.map((name) => path.join(publicFolderPath, name));
console.log(fileListConstant); // 打印文件数组
return fileListConstant;
} catch (error) {
console.error('Error reading files:', error);
}
}
readFilesInFolder();
```
在这个例子中,我们先导入`fs-extra`的`readdirSync`用于读取文件夹内容,然后使用`lstatSync`判断是否为文件,最后将文件名添加到数组中。`__dirname`用于获取当前脚本的目录。
阅读全文