我正在尝试使用Webpack来构建一个简单的lambda nodejs函数-Hello World。
以下是webpack.config.js文件的内容。
exports.handler = (event, context, callback) => {
callback(null, 'Hello from Lambda');
};
这个函数在AWS Lambda配置页面中使用handler "index.handler"进行配置。
Webpack生成的代码无法正常工作。该函数会抛出错误:“模块'index'上缺少处理程序'handler'”。看起来模块成为了反义词。
可以通过以下方式更新生成的代码使其正常工作。
global.handler = (event, context, callback) => {
//async.map(['file1','file2','file3'], console.log, function(err, results){
// results is now an array of stats for each file
callback(null, 'Hello from Lambda');
//});
//add the following at the end.
exports.handler = global.handler;
以下是webpack.config.js文件的内容。
var path = require('path');
module.exports = {
// Specify the entry point for our app.
entry: [
path.join(__dirname, '/src/autotag.js')
],
// Specify the output file containing our bundled code
output: {
path: path.join(__dirname, "dist"),
filename: "autotag.js"
},
//target: "node",
module: {
/**
* Tell webpack how to load 'json' files.
* When webpack encounters a 'require()' statement
* where a 'json' file is being imported, it will use
* the json-loader.
*/
loaders: [{
test: /\.json$/,
loaders:
}]
}
}
有人使用webpack构建lambda nodejs函数吗?
非常感谢任何帮助。
exports.handler = global.handler;
追加到最终捆绑包的末尾。我通常先运行webpack,然后再运行一个追加脚本来实现它,命令为npm run bundle
。 - kevin628