如何解决Nestjs 编译未反映更改
问题
我正在创建一个基于 Nest.js 的应用程序,直到现在一切都很好。 在将连接方法(使用 `@nestjs/mongoose` 包)从下面的代码段 1 更改为代码段 2 后,正在运行的应用程序没有反映更改。它通过一个没有出现在代码库中的任何地方的连接字符串保持连接。片段1
sudo docker-compose exec myapp SOME_OTHER_SHELL
snippet2
imports: [
MongooseModule.forRoot(config.db.uri,{ useFindAndModify: false }),/* other imports */
],
不管上面的代码片段如何,即使只更新包含常量的 JSON 文件,更改也不会反映出来,应用程序会继续连接到旧文件。
我从 config.json 文件中读取字符串如下
imports: [
MongooseModule.forRoot(config.db.uri,{
connectionFactory: (connection) => {
connection.plugin(accessibleRecordsPlugin);
return connection;
},dbName: isInDevelomentMode(process.env.NODE_ENV) ? 'dev' : 'prod'
}),/* other imports */
]
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
- 如 Nest.Js not accepting any changes 中所述,通过
npm run start:dev
运行应用
当前的解决方法
目前,唯一能让我在正在运行的应用程序中更新连接字符串的是将我的代码推送到远程 git 存储库,删除所有本地文件,再次拉回代码并重新运行整个安装并运行过程。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。