我对nodeJS很新。
我正在使用nodeJS模块node-workflow
基本上,这个模块是一个协调器,它接受一个自定义的javascript脚本(=工作流定义),然后将其序列化并存储在REDIS数据库中(例如),然后由节点按需执行-workflow 模块。
工作流定义由任务组成,如下所示:
var my_external_module = require('my_external_module');
var workflow = module.exports = {
name: 'Workflow Test',
chain: [{
name: 'TASK 1',
timeout: 30,
retry: 1,
body: function(job, cb) {
// Execute external function
my_external_module.hello("Monkey");
return cb(null)
},
},
...
首先,我将我的函数my_external_module.hello()放在工作流脚本旁边的.js文件中。 当我运行 node-workflow 模块时,我收到以下错误:
初始化跑步者时出错:
[ReferenceError:my_external_module未定义]
所以我创建了一个模块 my_external_module , 并在: ./ node_modules / my_external_module / index.js
module.exports = {
hello: function(name) {
console.log("Hello, " + name);
}
};
当我运行 node-workflow 模块时,我得到了同样的错误:
初始化跑步者时出错:
[ReferenceError:my_external_module未定义]
似乎 require(...)应位于 node-workflow 模块的.js文件之一,因此我必须破解一个模块的文件,但它有点脏。
我错过了什么吗?
或者有没有办法在Python中定义$ PATH,以便我的函数可以从任何地方访问。
答案 0 :(得分:0)
你必须要求:
var my_external_module = require('./my_external_module');
注意./
这意味着Node应该搜索./my_external_module.js
如果省略./
节点查看(通常)node_modules
目录中已安装的模块