奇怪的问题,但目前我有一个脚本,我从终端运行,需要一个参数。通常我会通过执行node script.js param
来运行它,但现在我想在Express服务器加载时使用JS文件中的参数运行此脚本。
该参数被接收并在文件中定义,如下所示:
var param = process.argv[process.argv.length - 1];
在我的Node应用程序的其他位置访问此文件并运行它的最佳做法是什么?
答案 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.
}