npm i -g @nestjs/cli
nest new process-system
npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata
common/interceptors/api-transform.interceptor.ts
common/filters/business.exception.filter.ts
common/exception/business.exception.ts
npm i @nestjs/config
添加ConfigModule模块
@nestjs/config 默认会从项目根目录载入并解析一个 .env 文件,从 .env 文件和 process.env 合并环境变量键值对,并将结果存储到一个可以通过 ConfigService 访问的私有结构。
// app.module.ts
@Module({
imports: [
ConfigModule.forRoot({
ignoreEnvFile: true,
isGlobal: true,
load: [getConfig],
}),
...
]
})
安装 cross-env 指定运行环境来使用对应环境的配置变量。
pnpm install cross-env
修改启动命令:
"start:dev": "cross-env NODE_ENV=development nest start --watch",
添加 .config/.development.yaml 配置
- 安装
pnpm i webpack-node-externals run-script-webpack-plugin webpack -D
-
新建
webpack-hmr.config.js -
main.ts里开启HMR功能 -
修改启动脚本命令
"start:hotdev": "cross-env NODE_ENV=development nest build --webpack --webpackPath webpack.hmr.config.js --watch","
-
安装
pnpm i @nestjs/swagger -
创建
src/doc.ts -
在
main.ts中引入
-
安装
pnpm i typeorm mysql2 @nestjs/typeorm -
在
.development.yaml添加数据库配置 -
添加实体
src/entities/xxx -
初始化数据库
deploy/sql/init.sql和docs/权限管理数据库设计文档.md -
连接数据库
app.module.ts配置
-
安装
pnpm i ioredis -
注册
shared/shared.module.ts/redis模块
- 密码盐值psalt通常与用户的密码组合在一起,然后一起进行哈希处理,并存储在数据库中。在验证用户登录时,应用程序会从数据库中检索盐值,将用户输入的密码与盐值相结合并进行哈希处理,然后与数据库中存储的哈希值进行比较,以验证用户的身份。这种方式可以帮助保护用户密码免受攻击,即使数据库被泄露,攻击者也无法轻松破解用户密码。