nestjs作为一个node框架,因其完美支持typescript,面向AOP编程等优点,用来开发中大型的项目可以更加轻松。。。。编不下去了
0. 环境准备
nestjs是基于nodejs的,对nodejs有一定的版本要求。
请确保您的操作系统上安装了 Node.js(>= 10.13.0, v13 版本除外)
检查自己的node版本:node -v
然后我们需要进行全局安装nest脚手架,如果你不全局安装也可以。这里我们选择全局安装,比较方便在任何文件下都能够创建nest项目。
cnpm i -g @nestjs/cli
有关项目的创建和使用在nest文档上面都有相关的介绍与教程,地址:https://docs.nestjs.cn/8/firststeps
1. 项目创建
环境转杯完成之后,我们就可以进行项目的创建了。使用nest脚手架进行创建项目
nest new 项目名称
注意:项目名称不能为中文,否则可能会出现各种意想不到的意外。
之后会让我们进行选择依赖包安装方式,网络环境良好可以选择npm,或者根据需要进行自己选择。上下方向键选择,回车确定。
然后等待依赖包下载完成之后就可以了。
cd nest-demo
切换到对应的项目文件夹下
npm run start:dev
以热更新的方式启动项目
等待项目启动完毕。浏览器地址访问http://localhost:3000,页面展示hello word,表示项目启动完成。
2. 项目格式化与目录结构优化
.eslintrc.js
我们新建的项目下有一个.eslintrc.js文件,这个文件是用来描述项目的eslintrc的,如果不需要可以将里面的内容注释掉。(这里都注释掉了,因为在编写代码的时候,编译器会报各种奇怪的错误)
pageage.json
可以在这个文件中修改一些信息,比如热更新的形式启动项目的命令是npm run start:dev
,我们可以在这个文件中修改:
"dev": "nest start --watch",
这样我们就可以使用npm run dev
启动热更新项目了。对于开发这来说是一个小小的偷懒。
结构优化
我们创建完成的项目src目录下有五个文件。当然我们可以直接在src下写自己的模块,但是对于后期维护来说这可能是个噩梦。所以我们需要对项目进行稍微改造
src下保留app.module.ts 和 main.ts 其他的都删掉
然后app.module.ts中的相关引用也给删除了:
import {
Module } from '@nestjs/common';
@Module({
imports: [],
controllers: [],
providers: [],
})
export class AppModule {
}
端口修改
项目默认启动在3000端口当然我们也可以进行修改。在main.ts中,我们可以修改启动端口:
import {
Logger } from '@nestjs/common';
import {
NestFactory } from '@nestjs/core';
import {
AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory