You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript+Webpack构建的AWS Lambda集成New Relic遇构建错误求助

解决方案

1. 安装缺失的依赖

报错核心是Webpack找不到newrelic-lambda-wrapper模块,先确认已安装该npm包:

npm install newrelic-lambda-wrapper --save

yarn用户执行:

yarn add newrelic-lambda-wrapper

2. 修正Webpack模块解析配置

检查webpack.config.js,确保配置了正确的模块解析规则,让Webpack从node_modules中查找第三方依赖:

module.exports = {
  // ...其他配置
  resolve: {
    modules: ['node_modules', path.resolve(__dirname, 'src')],
    extensions: ['.ts', '.js'] // 确保包含TS和JS后缀
  }
};

这一步避免Webpack把newrelic-lambda-wrapper误解析为本地相对路径文件。

3. 确认SAM模板环境变量配置正确

在SAM模板中,通过环境变量指定原Lambda处理器的路径,确保路径和Webpack打包后的实际输出路径一致:

Resources:
  MyAppTokenValidator:
    Type: AWS::Serverless::Function
    Properties:
      Handler: newrelic-lambda-wrapper.handler
      Environment:
        Variables:
          NEW_RELIC_LAMBDA_HANDLER: 'dist/api/MyAppTokenValidator.handler' # 替换为你实际的打包后处理器路径
          # 其他New Relic相关环境变量(如NEW_RELIC_ACCOUNT_ID等)

注意:路径要对应Webpack输出目录下的处理器文件,比如原处理器是src/api/MyAppTokenValidator.ts,打包后输出到dist目录,就用dist/api/MyAppTokenValidator.handler。

4. 检查Webpack的externals配置

如果你的Webpack配置中用了externals排除依赖,确认没有误把newrelic-lambda-wrapper加入排除列表,否则它不会被打包进最终的Lambda代码包中,需要移除该包的externals配置。

内容的提问来源于stack exchange,提问作者Rajith Delantha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:04:57