NestJS入门教程—02.开发环境搭建和项目创建
安装Node软件
作为一个前端程序员,应该都对Node.js有所了解,如果你用过Vue
或者React
框架进行开发需求,那你的电脑上一定已经安装了Node。但为了照顾所有同学,我需要再讲下Node的安装,如果你很熟悉了,可以跳过这部分,直接到NestJS的安装讲解进行学习。
Node.js是什么?
Node.js是一个基于Chrome V8 引擎的 JavaScript运行环境。
简单理解就是Node.js为JavaScript代码的运行,提供了必要的环境。
下载方法
Node.js的官方地址:https://nodejs.org
我们直接登录网站,进行下载,我这里下载的是18.12.1LTS
版本。下载完成后,安装就和安装QQ差不多,下一步、下一步就可以完成。视频中会有展示。
验证安装是否成功
当安装完成Node后,需要验证它是否安装成功。打开命令行工具,然后在命令行中输入node -v
,如果能正常出现版本,说明Node已经安装成功了。
node -v
v18.12.1
包管理器的使用npm&yarn&pnpm
当你下载了Node.js ,就默认提供了npm包管理工具。但是由于国内的一些因素,你使用npm来下载包是非常慢的,所以就需要我们作一些额外的事情。
npm安装淘宝源
npm慢是可以解决的,我们可以直接使用淘宝源。
淘宝源网址:npmmirror.com
在命令行中输入下面的命令
$ npm install -g cnpm --registry=https://registry.npmmirror.com
yarn的介绍和安装
由于npm下载慢的问题,很多人开始使用yarn这个工具。
yarn的特点是 扁平化依赖,并行安装,本地缓存。
安装方法是在命令行下,直接输入下面的命令,就可以安装成功了
// 安装命令
npm i -g yarn
// 国内加速,设置国内镜像
yarn config set registry https://registry.npmmirror.com
pnpm的介绍和安装
最近两年比较流行的包管理工具pnpm,
pnpm的特点是节约磁盘空间,缓存技术加持,速度快,安全性高,支持monorepo
安装方法
npm i -g pnpm
这三个工具是有些区别的,pnpm最快,但是对很多项目支持的不是很好,出现问题很难解决。yarn虽然现在越来越多的使用,但是当你项目依赖包很多的时候,它和npm有一些差异,会导致项目无法运行。所以说还是npm最稳定,你可以通过可以上网的方式,来解决慢的问题。
如果你说你不会科学上网,可以观看第一节,扫码入群,我在群里教你作这个。
全局安装NestJS CLI
当有Node环境后,也设置npm的源后,就可以正式进行NestJS的学习了。NestJS的安装需要CLI命令,先来安装NestJS CLI工具。
cnpm i -g @nestjs/cli
如果使用npm 进行安装,速度可能会很慢。
创建NestJS项目
等待nestjs/cli
安装完成后,就可以创建一个新的项目。
nest new nestjs-demo
打开命令行工具,然后进到你想创建项目的文件夹,输入上面的命令就可以了。输入完成后,会让我们选择使用什么包管理工具进行下载,我这里使用npm。
我家里的网速安装需要3分钟左右,这个根据个人网速不同,会有一定的差异。
安装完成后会出现下面的提示。
√ Installation in progress... ☕
🚀 Successfully created project nest-demo
👉 Get started with the following commands:
$ cd nest-demo
$ npm run start
Thanks for installing Nest 🙏
Please consider donating to our open collective
to help us maintain this package.
🍷 Donate: https://opencollective.com/nest
这时候再使用命令行进入到项目cd nest-demo
,然后再使用npm run start
启动项目,看到下面的提示,说明我们的项目已经创建成功了。
> nest start
[Nest] 14312 - 2022/11/24 09:28:10 LOG [NestFactory] Starting Nest application...
[Nest] 14312 - 2022/11/24 09:28:10 LOG [InstanceLoader] AppModule dependencies initialized +30ms
[Nest] 14312 - 2022/11/24 09:28:10 LOG [RoutesResolver] AppController {/}: +6ms[Nest] 14312 - 2022/11/24 09:28:10 LOG [RouterExplorer] Mapped {/, GET} route +2ms
[Nest] 14312 - 2022/11/24 09:28:10 LOG [NestApplication] Nest application successfully started +2ms
好了,这节就先到这里了。学完这节后,一定要动手操作起来,把环境和项目都搭建好,下节课我们才能继续学习。
转载自:https://juejin.cn/post/7170925662834786341