我正在使用 Webpack 打包我的 lambda。我正在使用 CDK 部署它们。
但是,当通过 ApiGateway 测试它们时,我得到了这个:
Lambda execution failed with status 200 due to customer function error: Error: Cannot find module 'apollo-server-lambda'.
这是我的 Webpack 配置:
{
mode: 'production',
entry: {
graphql: './src/lambdas/graphql.ts',
cognito: './src/lambdas/cognito.ts',
'smoke-detector': './src/lambdas/smoke-detector.ts',
},
output: {
libraryTarget: 'commonjs',
path: path.resolve(__dirname, "dist"),
filename: '[name]/[name].js'
},
target: 'node',
externals: [nodeExternals()],
resolve: {
extensions: ['.ts', '.js']
},
module: {
rules: [
loader({
test: /\.ts$/,
use: {
loader: 'ts-loader',
options: {
getCustomTransformers: () => ({
before: [graphqlTag.getTransformer()]
})
}
}
}),
loader({
test: /\.graphqls$/,
use: {
loader: 'graphql-tag/loader',
}
})
]
},
plugins: [
]
}
执行像 node graphql.js
这样的输出文件不会失败。
我做错了什么?
最佳答案
删除
externals: [nodeExternals()]
解决了问题。
它导致依赖项从 bundle 中排除。
关于node.js - Lambda 失败并显示 "Cannot find module...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60243309/
相关文章:
sql-server - SSIS:发生 OLE DB 错误。错误代码 0x80004005,对方过
google-cloud-bigtable - BigTable是否允许设置微时间戳粒度
javascript - 雅格斯 : access processed argv in fail f
google-cloud-functions - ingressSettings = ALLOW_I
amazon-web-services - AWS Lambda 不等待代码上传到 Terrafor
swift - PHPhotoLibrary 出错,无法保存视频
xaml - 如何在使用 xamarin shell 时更改状态栏颜色