node.js - 如何使用自定义 .env 文件构建嵌套 js 项目
问题描述
我想使用自定义 NODE_ENV 环境构建一个项目,但无法正常工作,我当前的脚本是
"scripts": {
"build:dev": "NODE_ENV=development nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "NODE_ENV=development nest start --watch",
"start:debug": "NODE_ENV=development nest start --debug --watch",
"start:prod": "NODE_ENV=production node dist/main",
}
对于命令 npm run start:dev 效果很好,但是当我尝试
npm run build:dev
的输出console.log(process.env.NODE_ENV)
是undefined
解决方案
您必须先安装两个软件包:
npm i config @nestjs/config
.env
现在,在您的根文件夹上创建一个文件并在那里定义环境变量。如:
# .env file
NODE_ENV="development"
现在导入ConfigModule
文件app.module.ts
:
import { ConfigModule } from '@nestjs/config';
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env',
}),
...
]
})
而且您不需要修改脚本中的任何内容。所以脚本将如下所示:
"scripts": {
"build:dev": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main"
},
这样,对于生产,您只需更改.env
文件上的环境名称即可。
推荐阅读
- sqlalchemy - 如何使用 SQLAlchemy/ORM 映射视图?
- python - bool类型图像到uint8的转换
- python - 使用 pandas 的 puthon 错误:TypeError: can only concatenate str (not "float") to str
- docker - traefik 路由到侦听不同端口的容器
- c# - 使用.net核心中的linq过滤掉实体框架中的数据
- jquery - 如何在不添加新项目的情况下保留键入的值?
- javascript - 缩小cshtml文件asp.net核心中的javascript
- mysql - 如果返回字符串,mySQL CASE 语句将重新查询更深一层的节点
- transform - ARKit 上的“transformPoint”方法
- rundeck - 需要 JAVA 确切版本 Rundeck 自包含启动器安装“rundeck-3.3.10-20210301.war”