首页 > 解决方案 > Nestjs 编译未反映更改

问题描述

问题

我正在创建一个基于 Nest.js 的应用程序,直到现在一切都很好。在将连接方法(使用 `@nestjs/mongoose` 包)从下面的片段 1 更改为片段 2 后,正在运行的应用程序没有反映更改。它通过代码库中任何地方都没有出现的连接字符串保持连接。

片段1

imports: [
    MongooseModule.forRoot(config.db.uri, { useFindAndModify: false }),
    /* other imports */
  ],

片段2

 imports: [
    MongooseModule.forRoot(config.db.uri, {
      connectionFactory: (connection) => {
        connection.plugin(accessibleRecordsPlugin);
        return connection;
      },
      dbName: isInDevelomentMode(process.env.NODE_ENV) ? 'dev' : 'prod'
    }), 
    /* other imports */ 
]

无论上面的片段如何,即使只更新包含常量的 JSON 文件,更改也不会反映,并且应用程序会继续连接到旧文件。

我从 config.json 文件中读取字符串如下

import * as config                 from './config/config.json';
"db": {
    "uri": "mongodb+srv://revo:<psw>@cluster0.ngr5j.mongodb.net/?retryWrites=true&w=majority",
    "defaultUpdateOptions": {
      "new": true
    }
  }

我试过的


当前的解决方法

目前,唯一允许我更新正在运行的应用程序中的连接字符串是将我的代码推送到远程 git 存储库,删除所有本地文件,再次拉回代码并重新运行整个安装并运行过程。

标签: typescriptmongoosecompilationnestjstsc

解决方案


推荐阅读