typescript - 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
}
}
我试过的
- 删除
dist
文件夹然后重新运行npm run start:dev
- 删除
node_modules
文件夹然后重新运行npm i
并npm run start:dev
npm run build && npm run start
如Nest.Js中所述运行应用程序不接受任何更改
当前的解决方法
目前,唯一允许我更新正在运行的应用程序中的连接字符串是将我的代码推送到远程 git 存储库,删除所有本地文件,再次拉回代码并重新运行整个安装并运行过程。解决方案
推荐阅读
- python - 在 Python 中使用 async/await 的 Azure ServiceBus 似乎不起作用
- angularjs - '意外的令牌{在函数(
)' 在 .pug 上运行迭代时出现错误 - dataweave - 如果它们不为空,则连接许多字符串的最有效方法
- javascript - Vue:无法将值从父组件传递给子组件
- c# - 创建 SSL 连接时的 .NET Core 3.1 Alpine 图像竞争条件
- kubernetes-helm - 具有多个部署的 helm install 图表 - 并行
- angular - Angular9 - 以模态形式打开反应形式的一部分
- mediawiki - 如何通过 MediaWiki API 获取维基百科所有内容页面的 Pageids 和 Title?
- javascript - 引号中的 Javastript 语法
- android - Flutter - 如何在 Listview 构建器顶部添加项目?