You need to enable JavaScript to run this app. 基于AWS Lambda的Serverless NestJS离线运行报this.instance.use错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

基于AWS Lambda的Serverless NestJS离线运行报this.instance.use错误如何解决

报错原因

该报错是因为传入ExpressAdapter的Express应用实例无效,实例缺少内置的use方法,绝大多数是ES模块和CommonJS模块的导入语法不兼容导致的。

修复方案

1. 修正express实例化逻辑(二选一即可)

方案A:调整导入语法并兼容ES模块

首先在tsconfig.json的compilerOptions中添加以下配置:

{
  "compilerOptions": {
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
  }
}

再修改lambda.ts中的express导入语句:

// 替换原有 import * as express from 'express'
import express from 'express';

方案B:直接调用default属性实例化

如果不想修改tsconfig配置,可以直接修改lambda.ts中的express实例化代码:

// 替换原有 const expressApp = express();
const expressApp = express.default();

2. 排除打包插件干扰

如果修改后问题仍存在,先临时移除serverless.yml中的serverless-plugin-optimize插件配置,该插件的压缩逻辑偶尔会误删Express的核心方法,移除后重新运行测试即可。

3. 依赖版本对齐

如果上述操作都无效,确认@nestjs/core、@nestjs/platform-express、express三个依赖没有跨大版本混用的情况,可重新安装依赖修复版本异常:

rm -rf node_modules package-lock.json
npm install @nestjs/core @nestjs/platform-express express

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 06:54:01