我仍在学习node
并且遇到过这个问题。在下面的情况中,并使用一个愚蠢的例子(完整的代码不能放在这里),当我在终端node index.js somethinghere
中运行时,代码不会执行。我意识到event
和context
在这个例子中没有任何影响,但它们在我目前正在编写的代码中。
这是因为我在做exports.imageRs
吗?
如何通过传入参数让它在命令行上运行?
请注意,原始代码将在aws lambda
和命令行上运行。
档案index.js
exports.imageRs = function (event, context) {
console.log(process.argv);
}
答案 0 :(得分:1)
在示例中,您显示Node将定义exports.imageRs
函数,但它不会执行它。
修复是这样的:
exports.imageRs = function (event, context) {
console.log(process.argv);
};
if (!module.parent) {
exports.imageRs();
}
!module.parent
检查可以防止其他模块需要模块时执行内部代码,这可能就是你想要的。
$ node index.js somethinghere
[ '/path/to/node',
'/path/to/index.js',
'somethinghere' ]
$ node
> require('./index')
{ imageRs: [Function] }