nest 记录 (一)

nest 记录 (一)
John Doenest 记录 (一)
起步
中文文档地址 nest 版本 8.X https://docs.nestjs.cn/8
确保安装了nodejs 版本大于10.13.0。
我用的是14.17.6 和 16.15.1 。通过nvm 进行切换
非必要步骤
安装 @nestjs/cli 和 yarn
不过我的文章里面会用到, 还是推荐安装一下的
构建新项目
1 | nest new 项目名字 |
运行程序
1 | yarn start:dev |
为啥要加 dev 。来到 package.json ,
可以发现多了一个 --watch 的参数。
这个就是用来监听文件改动进行自动编译(类似与工程化前端的热更新)。nest
的具体原理好像也是 webpack 热更新。(这里打个疑问号, 我没有探究过)
1 | { "scripts": { "start": "nest start", "start:dev": "nest start --watch", }} |
项目运行在哪里, 打开 src/main.ts , 有这样一行代码
1 | async function bootstrao() { |
如果 3000 端口被占用, 终端会报错,
你可以在app.listen那里重新写一个端口。 Webpack 项目可以自动换端口,
怎么实现的具体以后再研究
然后用浏览器或者 api 接口测试工具打开http://localhost:3000 , 你就会看到 Hello World
,很兴奋有没有, 😥, 对于有开发经验的人来说没什么稀奇的。
那么这个 hello world 来自哪里呢? 通过搜索代码可以发现在app.services.ts ,再一层层往上看。发现调用顺序如下
main.ts -> AppModule(app.module.ts) ->
AppController(app.controller.ts) -> AppService(app.service.ts)
好长一串啊。 他们说这叫 MVC 模式。
我不懂。
这篇文章就写到这里了, 后面的文章会详细的记录我的学习过程🍻






