节点目录解析器

时间:2017-05-19 08:35:23

标签: javascript node.js

我正在尝试创建一个以参数目录字符串为例的函数(例如:'public / css')解析该目录和子目录,并返回相对于项目目录的文件路径数组。

2 个答案:

答案 0 :(得分:1)

您可以使用从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函数读取它的内容。

我希望它能让您更好地了解节点中的文件系统并帮助您继续前进

答案 1 :(得分:-1)

好的,依靠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();