Lambda,包括对节点_模块的依赖关系
我是Lambda的新手,正在尝试弄清楚如何在node_模块上部署依赖项。请注意,我没有使用无服务器。我正在使用webpack绑定Lambda函数 我想到要做的第一件事就是将node_模块依赖项作为webpack构建过程的一部分打包为一个文件。但后来我发现这不是一件好事?下一个选项是将相应的依赖节点模块复制到lambda部署zip文件夹中。但我这里的问题是Lambda,包括对节点_模块的依赖关系,lambda,node-modules,Lambda,Node Modules,我是Lambda的新手,正在尝试弄清楚如何在node_模块上部署依赖项。请注意,我没有使用无服务器。我正在使用webpack绑定Lambda函数 我想到要做的第一件事就是将node_模块依赖项作为webpack构建过程的一部分打包为一个文件。但后来我发现这不是一件好事?下一个选项是将相应的依赖节点模块复制到lambda部署zip文件夹中。但我这里的问题是 这是部署依赖项的标准方法吗 如果我的依赖项依赖于另一个依赖项,比如dependency2,那么我如何知道这一点,以及我是否需要复制它 有没有其
node\u modules
目录的zip包(如果需要)
webpack方法是创建一个javascript文件包,该文件包已经包含了一个文件中的所有依赖项(在大多数简单的情况下)。如果您有依赖于本机绑定的依赖项(例如,bcrypt
),则可以将它们从网页包中排除,并且可以将bcrypt
通常包含在节点模块
目录中
如果我的依赖项依赖于另一个依赖项,比如dependency2,那么我如何知道这一点,以及我是否需要复制它
使用标准方式,npm
已经可以为您处理这些依赖项了。因此,您所要做的就是在部署包中包含node\u模块
它使用webpack
,为您处理此问题。只要学会正确配置它
作为网页包配置的一个简单示例,您可以使用:
const path = require('path');
module.exports = {
entry: {
handler: './handler.js',
},
target: 'node',
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: '[name].js'
},
};
过去的日子!从今天起,您可以使用Lambda层将所有依赖项捆绑起来,并将它们上载到中心Lambda层,您的所有Lambda函数将能够神奇地将它们全部导入。