问题
我有一个运行node index.js
的脚本。当我试图模拟AWS Lambda函数的结构时,我将代码的运行逻辑移到了一个定义为export async function handler(...) {
的函数中。这个函数可以通过命令行使用命令node -e "import('./index.js').then(module => module.handler())"
来执行。
预期结果
我想运行命令:node -e "import('./index.js').then(module => module.handler())"
,方法是在npm脚本中定义它。最好通过执行npm start
来运行它。
尝试的解决方案
在package.json
中:
{
...
"scripts": {
"start": "...",
},
...
}
尝试将"start": "..."
设置为以下值,执行时返回错误:
"node -e 'import(\\'./index.js\\').then(module => module.handler())'"
"node -e 'import(\\'./index.js\\').then(function (module) { module.handler(); })'"
"node --eval='import(\\'./index.js\\').then(module => module.handler())'"
"node --eval='import(\\'./index.js\\').then(function (module) { module.handler(); })'"
尝试使用这些器械似乎无法评价:
- x1米11米1x
"node --eval='import(\\'./index.js\\').handler()'"
"node -e 'require(\\'./index.js\\').handler()'"
"node --eval='require(\\'./index.js\\').handler()'"
我知道以上这些都是多余的,我正在努力做到彻底。任何帮助将不胜感激。
3条答案
按热度按时间zc0qhyus1#
我只需要创建
scripts/start.js
然后。
68bkxrlz2#
这应该行得通:
sulc1iza3#
基于此答案https://stackoverflow.com/a/68848622/5089567
您可以将以下代码添加到脚本中:
然后像这样运行文件