Cos*_*tin 3 amazon-web-services node.js webpack serverless-framework serverless-architecture
我想创建一个包来使用AWS部署无服务器和的WebPack。
在serverless.yml我想声明所有资源(主要是 DynamoDb 表)和函数。我想使用外部node.js库。
文件夹结构为:
|- serverless.yml
|- webpack.config.js
|- package.json
|- src
\ - file1.js
| - file2.js
Run Code Online (Sandbox Code Playgroud)
摘自 serverless.yml
functions:
function1:
handler: src/file1.f1
function2:
handler: src/file2.f2
Run Code Online (Sandbox Code Playgroud)
摘自 webpack.config.js
module.exports = {
entry: {
file1: './src/file1.js',
file2: './src/file2.js',
},
target: 'node',
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: '[name].js',
},
module: {
loaders: [
{
test: /\.json$/,
loaders: ['json-loader'],
},
],
},
};
Run Code Online (Sandbox Code Playgroud)
做当serverless deploy一切都很好,但测试时的λ我得到一个错误:
{
"errorMessage": "Cannot find module '/var/task/src/file1'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)"
]
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我我做错了什么吗?
鉴于我是无服务器的新手,您能为代码和开发组织推荐一些“更好的实践”吗?(无服务器和 nodejs 是强加的,webpack 和其他一切都不是)
小智 5
我建议使用serverless-webpack 插件。如果不查看整个serverless.yml文件就很难判断,但我认为无服务器正在尝试部署下面列出的函数functions:,在您的情况下,这些函数是用 AWS lambda 上的 Node.js 4.3 运行时无法理解的语法编写的。
Serverless Stackserverless-webpack详细介绍了如何使用插件设置项目:
| 归档时间: |
|
| 查看次数: |
8267 次 |
| 最近记录: |