通过环境变量控制开发模式
使用 Nestjs 开发后端时,需要通过环境变量来控制项目的开发模式(development、production…),从而控制项目加载的环境变量文件。
Nestjs 底层使用 dotenv 来管理环境变量,而我们通过在根模块中添加配置来完成环境变量文件的自动加载。
为了实现上述需求,我们在 package.json 的启动命令中添加环境变量 NODE_ENV=development ,并在 AppModule 中读取。
// package.json
"scripts": {
"build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
// 设置初始状态为 development
"start:dev": "NODE_ENV=development nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",
"test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./test/jest-e2e.json"
},
原创大约 2 分钟
