node.js是否需要文件夹中的所有文件?

JavaScript Node.js

米亚凯

2020-03-18

如何在node.js的文件夹中需要所有文件?

需要类似的东西:

files.forEach(function (v,k){
  // require routes
  require('./routes/'+v);
}};

第2076篇《node.js是否需要文件夹中的所有文件?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
Sam逆天 2020.03.18

可以使用:https//www.npmjs.com/package/require-file-directory

  • 需要仅具有名称或所有文件的选定文件。
  • 无需绝对路径。
  • 易于理解和使用。
老丝梅樱 2020.03.18

我一直用于此确切用例的一个模块是require-all

它递归地要求给定目录及其子目录中的所有文件,只要它们与excludeDirs属性不匹配

它还允许指定文件过滤器以及如何从文件名导出返回的哈希的键。

神奇小小 2020.03.18

给require给出文件夹的路径后,它将在该文件夹中寻找一个index.js文件。如果有一个,它会使用它,如果没有,它将失败。

如果您可以控制文件夹,那么创建一个index.js文件,然后分配所有“模块”,然后简单地要求就可以了。

yourfile.js

var routes = require("./routes");

index.js

exports.something = require("./routes/something.js");
exports.others = require("./routes/others.js");

如果您不知道文件名,则应该编写某种加载程序。

装载机的工作示例:

var normalizedPath = require("path").join(__dirname, "routes");

require("fs").readdirSync(normalizedPath).forEach(function(file) {
  require("./routes/" + file);
});

// Continue application logic here

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android