项目初始化

42 阅读1分钟

项目初始化

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"),
  })
}