从文件内部执行节点脚本

时间:2016-07-15 05:38:07

标签: javascript node.js

奇怪的问题,但目前我有一个脚本,我从终端运行,需要一个参数。通常我会通过执行node script.js param来运行它,但现在我想在Express服务器加载时使用JS文件中的参数运行此脚本。

该参数被接收并在文件中定义,如下所示:

var param = process.argv[process.argv.length - 1];

在我的Node应用程序的其他位置访问此文件并运行它的最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

如果我理解你的正确跟随应该工作。

<强>的script.js

module.exports = function (params) {

console.log(params);

}

<强> main.js

var param = process.argv[process.argv.length - 1];

require('./script')(param);

答案 1 :(得分:1)

如果您需要在需要脚本时从其他来源获取param,您可以验证脚本是直接从命令行运行还是需要:

if (require.main === module) {
    var param = process.argv[process.argv.length - 1];
} else {
    var param = // get from other source. 
}