【发布时间】:2020-06-04 09:02:10
【问题描述】:
我只是想知道如何使用节点 js 从目录创建 JavaScript 对象。
这就是我的意思: 如果根文件夹是“test”并且树看起来像this 所以对象结构看起来像这样:
{ test: { joe: {mama: "(file contents)"}, pp: {help: "very mature example\r\ni'm aware"} } }
编辑:这是我的尝试
const fs = require("fs");
const path = require("path");
const root = "test";
const dir = __dirname + "\\" + root + "\\";
var currentFolder = dir.replace(__dirname + "\\", "");
var data = {};
const getFileSize = function (dirPath) {
files = fs.readdirSync(dirPath);
var length = 0;
files.forEach(function (file) {
length++;
});
return length;
};
fs.readdirSync(dir).forEach((rootFile, rootIndex) => {
fs.readdirSync(currentFolder).forEach((file, index) => {
if (getFileSize(currentFolder) - 1 == index) {
console.log(index, file, rootFile, currentFolder);
currentFolder = currentFolder.replace(`\\file`, "");
index++;
}
// if (file.includes("."))
// data[currentFolder + file] = fs.readFileSync(currentFolder + file, "utf8");
// else currentFolder = currentFolder + file + "\\";
});
});
console.log(data);
【问题讨论】:
-
使用
fs.readdir或fs.readdirsync: nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback -
是的,我尝试使用它,但我无法让它工作
-
用你的尝试更新你的问题。
标签: javascript node.js object npm