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

NestJS微服务:本地服务器代码修改不生效问题求助

NestJS微服务代码修改后不生效的解决方案
  • 确认开启热重载
    开发环境必须用监听模式启动服务,否则文件修改不会触发重新编译:

    • 检查package.json的scripts配置,确保包含:
      "scripts": {
        "start:dev": "nest start --watch"
      }
      
    • 运行npm run start:dev启动服务,而非直接执行nest start。
  • 清理编译缓存
    旧的编译产物可能未被覆盖,导致运行旧代码:

    • 手动删除项目根目录下的dist文件夹,再重启服务。
    • 可添加前置脚本自动清理(需先安装rimraf:npm install rimraf --save-dev):
      "scripts": {
        "prestart:dev": "rimraf dist",
        "start:dev": "nest start --watch"
      }
      
  • 验证Logger实例正确性
    确保Controller中的Logger是当前模块的实例,而非全局旧实例:

    import { Controller, Logger, MessagePattern } from '@nestjs/common';
    
    @Controller()
    export class AppController {
      private readonly logger = new Logger(AppController.name);
    
      @MessagePattern({ role: 'test', cmd: 'find_all' })
      async findAll() {
        this.logger.log('Hello, User!');
      }
    }
    
  • 检查客户端调用的消息模式
    确认调用微服务的客户端发送的消息模式与Controller中的{ role: 'test', cmd: 'find_all' }完全匹配(包括字段名、大小写),避免因模式不匹配触发旧逻辑。

  • 对齐Nest CLI版本
    全局CLI与项目本地CLI版本不一致可能导致编译异常:

    • 查看全局版本:nest --version
    • 查看本地版本:npm list @nestjs/cli
    • 优先使用本地CLI启动:npx nest start --watch

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:45:40