gpt4 book ai didi

javascript - Nodejs : load javascript from external file containing functions

转载 作者:太空宇宙 更新时间:2023-11-04 02:23:22 25 4
gpt4 key购买 nike

我正在尝试使用 Nodejs 应用程序从文件系统上的文件加载 javascript 对象。

存储在文件系统文件('myOwnFunction.js')中的示例对象:

exports.myOwnFunction = {
"var2": "My value1",
"var2": 100,
"var3": true,
"var4": function(abc) {
var var5 = "some other value";
runOtherFunction(var5)
}
}

因此,在应用程序本身中,我想“加载”几个对象,如上面的示例。

fs.readdir("./", function (err, files) {
files.forEach(function(file) { // so loading all js files in folder
var foo = require( "./"+file ).myOwnFunction;
});
});

因此,脚本返回以下错误消息:

ReferenceError: runOtherFunction is not defined

我想这绝对是正常的; (a)同步问题,也是因为“runOtherFunction”在“myOwnFunction.js”文件上不可用。

您能给我一些如何继续或任何替代解决方案的线索吗?我很确定我这样做的方式是错误的 - 但我有点迷失了..

非常感谢。

最佳答案

导出模块的方式有点奇怪。我不知道这本身是错误的,但它不遵循 node.js 约定。试试这个:

myOwnFunction.js:

module.exports = function() {
"var2": "My value1",
"var2": 100,
"var3": true,
"var4": function(abc) {
var var5 = "some other value";
runOtherFunction(var5)
}
});

在您要使用此功能的文件中:

myOwnFunction = require('./myOwnFunction');

fs.readdir("./", function (err, files) {
files.forEach(function(file) { // so loading all js files in folder
var foo = require( "./"+file ).myOwnFunction;
});
});

关于javascript - Nodejs : load javascript from external file containing functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com