我正在将一些节点ES5节点代码迁移到Typescript。我需要移植这两段代码,在其中我迭代目录中的所有文件,并调用这些文件正在导出的默认函数。我如何在Typescript或ES6中完成此操作?
models/index.js
const fs = require("fs");
module.exports = () =>
fs.readdirSync(__dirname).map((model) => {
if (model === "index.js") return;
return require("./" + model);
});
index.js
const modelDefiners = require("./models")();
for (const modelDefiner of modelDefiners) {
if (typeof modelDefiner === "function") {
modelDefiner();
}
}
2条答案
按热度按时间gt0wga4j1#
您可以使用动态导入执行此操作:
gdrx4gfi2#
__目录名在ES6中不再有效。
详情请参见https://blog.logrocket.com/alternatives-dirname-node-js-es-modules/