【发布时间】:2017-08-12 03:24:29
【问题描述】:
我想创建一个包以使用 serverless 和 webpack 在 AWS 上部署。
在serverless.yml 我想声明所有资源(主要是DynamoDb 表)和函数。我想使用外部node.js 库。
文件夹结构为:
|- serverless.yml
|- webpack.config.js
|- package.json
|- src
\ - file1.js
| - file2.js
从 serverless.yml 中提取
functions:
function1:
handler: src/file1.f1
function2:
handler: src/file2.f2
从 webpack.congfig.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'],
},
],
},
};
在执行serverless deploy 时一切正常,但在测试 lambda 时出现错误:
{
"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)"
]
}
你能告诉我我做错了什么吗?
鉴于我是 serverless 的新手,您能建议我为代码和开发组织提供一些“更好的实践”吗?(强制使用 serverless 和 nodejs,webpack 和其他一切都没有)
【问题讨论】:
标签: node.js amazon-web-services webpack serverless-framework serverless-architecture