【发布时间】:2017-10-19 07:06:45
【问题描述】:
我正在尝试制作以目录字符串为参数的函数(例如:'public/css')解析该目录和子目录并返回相对于项目目录的文件路径数组。
【问题讨论】:
-
你有什么尝试吗??
标签: javascript node.js
我正在尝试制作以目录字符串为参数的函数(例如:'public/css')解析该目录和子目录并返回相对于项目目录的文件路径数组。
【问题讨论】:
标签: javascript node.js
你可以使用这个从Get all directories within directory nodejs获取目录的概念
const fs = require('fs')
const path = require('path')
function getDirectories (srcpath) {
return fs.readdirSync(srcpath)
.filter((file) => {
fs.lstatSync(path.join(srcpath, file)).isDirectory())
}
如您所见,每个文件夹都有使用readdirSync 函数读取其内容的选项。
我希望它能让您更好地了解 node 中的文件系统并帮助您前进
【讨论】:
好的,依靠 ShukiB 提供的代码,我的函数如下所示:
const flatten = arr => arr.reduce((acc, val) =>
acc.concat(Array.isArray(val) ? flatten(val) : val), []);
Array.prototype.flatten = function() {return flatten(this)};
const walkDir = dir => fs.readdirSync(dir)
.map(file => fs.statSync(path.join(dir, file)).isDirectory()
? walkDir(path.join(dir, file))
: path.join(dir, file).replace(/\\/g, '/')).flatten();
【讨论】: