typescript - 尽管如文档所示,为 .env 设置 ConfigModule 仍不起作用
问题描述
我遵循 https://docs.nestjs.com 上的文档说明,特别是https://docs.nestjs.com/techniques/configuration来设置 ConfigModule
这是我的文件的样子:
这就是我的 app.module.ts,其中 ConfigModule 设置为文档指示,如下所示:
这是我的 .development.env 文件的内容:
这是我的 configuration.ts 文件的内容:
为了测试,我将 app.controller.ts 设置如下:
所以这是问题所在,就像我说我正在按照文档说明设置 ConfigModule 一样,它确实加载了 configure.ts,因为我得到了端口的默认值 3000,但它没有从 .env 文件中获得 SERVER_PORT 值 8000,所以我的问题是 ConfigModule 无法找到 .env 文件。我是使用 .env 文件和 NestJS 的新手,目前正在关注文档,我不知道我是否做了一些文档指示错误的事情,或者是否有一些文档没有指定我必须做的事情。我在网上搜索,找不到类似的问题或 ConfigModule 的示例用法,我可以看看我缺少什么。
我注意到构建 NestJS 时 dist 中没有 .env 所以我假设问题是没有内置到 dist 中,但正如我所说我是 .env 和 NestJS 的新手,我也查找了这个问题,并且无法弄清楚要构建 .env 文件我必须做什么。
解决方案
.env
文件应该位于项目的根目录中(同一级别 a package.json
)而不是源代码(您的src
目录)。如果将它移到项目的根目录,它应该可以正常工作。
推荐阅读
- asp.net - 使用 Stripe SDK 时如何检索结帐信息
- r - Exporting R data - column classed as data.frame exports as blank with write_xlsx
- r - 使用 lapply 更改具有不同列名的数据框列表的列名
- python - last regex match in Python
- google-bigquery - Big Query - Concurrency for dashboard design
- android - Android 如何编写“语音辅助功能”
- lua - Lua 打印在同一行
- wso2 - 使用 Kubenetes 部署的后端服务的 WSO2 API 管理器
- python - 将多个 python 程序转换为具有参数传递功能的单个 exe
- regex - lex 的正则表达式词边界替代