项目初始化
spec
测试文件
1.删除app.controller.spec.ts
2.配置nest-cli.json
"generateOptions": {
"spec": false
},
远程仓库
1.添加远程仓库关联:git remote add origin 远程仓库URL
2.验证关联:git remote -v
3.推送本地代码到远程仓库
env
项目根目录创建
.env
.env.development
.env.production
gitignore
.env*
cross-env
npm install --save-dev cross-env
"start:dev": "cross-env NODE_ENV=development nest start --watch",
if (process.env.NODE_ENV !== 'production') {}
process
process是node的全局模块
获得node进程相关的信息,
比如运行node程序时的命令行参数
或者设置进程相关信息,比如设置环境变量
通过终端(cmd),输入node,进入编辑模式
输入process+回车, 显示进程
输入process.env+回车,显示 当前环境(environment)
输入process.env.NODE_ENV+回车,显示'undefined'
说明 process.env.NODE_ENV 不是系统默认选项,是人为后续加入的一个自定义项
通过cross-env加入
@nestjs/config
npm i --save @nestjs/config
cross-env:确认项目用哪个开发环境
@nestjs/config:获取这个开发环境的env变量值
配置
app.module.ts
ConfigModule.forRoot({
isGlobal: true,
envFilePath: `.env.${process.env.NODE_ENV || 'development'}`,
}),
使用
import { ConfigService } from "@nestjs/config"
export const emailConfig = {
useFactory: (configService: ConfigService) => ({
host: configService.get("EMAIL_HOST"),
})
}