3

对于 AWS Lambda 层,我有一个这样的目录结构。

main > nodejs > node_modules

test.js在上传到 AWS 之前,我有一个文件来测试功能。是否可以将我的test.js文件放在Main文件夹而不是nodejs文件夹中,并且仍然让它拾取nodejs文件夹中的模块?

我问是因为您压缩nodejs要为 AWS Lambda 层上传的文件夹,但我不想将我test.js的文件包含在存档中。

更新:下面的答案帮助我找到了解决方案。您只需在 require 中输入模块的完整路径。

require('./nodejs/node_modules/my_module');
4

2 回答 2

5

NODE_PATH运行 test.js 时设置环境变量

NODE_PATH='yourFolder'/node_modules

资源

于 2019-09-27T11:08:57.177 回答
0

一种方法是加载脚本并使用--eval标志执行它:

cd nodejs
node --eval "$(cat ../test.js)"
于 2019-09-27T09:55:34.717 回答