美文网首页
基于NestJS搭建node服务应用

基于NestJS搭建node服务应用

作者: ITgecko | 来源:发表于2020-09-28 11:15 被阅读0次

    NestJS

    NestJS是一款用来搭建高效、易于扩展nodejs服务端应用的框架,它是基于typescript编写的,并且完全支持typescript(当然也可以使用纯js),同时还包含了面向对象、函数式编程、函数响应式编程的思想。
    NestJS框架是基于express的封装,同时也直接将express的api提供给开发者使用,当然所有的基于express的第三方模块也可以使用。

    初始化项目

    初始化项目可以使用官方的脚手架:

    $ npm i -g @nestjs/cli
    $ nest new project-name
    

    也可以直接clone官方提供的代码仓库(如果要使用js,就把其中的typescript-starter改为javascript-starter即可),注意start命令是不会监听代码变动的,需要添加"--watch"参数才可以

    $ git clone https://github.com/nestjs/typescript-starter.git project
    $ cd project
    $ npm install
    $ npm run start
    

    成功启动后,就可以在localhost:3000地址看到hello word了。同时在项目目录下面可以看到三个核心的文件:

    • app.controller.ts: 提供了基本的接口路由
    • app.module.ts: 应用的根模块
    • main.ts: 应用的入口文件,调用NestFactory核心函数,生成NestJS的应用实例
      如果之后要创建子模块的时候,controller和module也是最基本的组成文件

    不使用NestJS-cli

    当然也可以不使用NestJS官方的脚手架,自己搭建框架。下面介绍的是搭建一个基于typescript,底层使用express的 hello world项目所需要的最小包,后续扩张功能可以按需加载更多。
    在dependencies里面只需要安装@nestjs/common@nestjs/core@nestjs/platform-express这三个包,devDependencies中安装@nestjs/testing用来编写测试。然后参考cli生成的controller、module、main文件,把代码写出来就可以了。

    使用nodemon、ts-node启动本地开发应用

    我们可以使用ts-node来编译并启动NestJS应用,找个库可以执行编译typescript,并运行编译后的js。安装好ts-node之后只需要:

    node -r ts-node/register src/main.ts
    

    这样就可以启动我们的NestJS应用了。另外如果在tsconfig.json配置文件中设置了paths参数,那么还需要另外安装一个tsconfig-paths包,并在命令里把参数加上:

    node -r ts-node/register  -r tsconfig-paths/register -r dotenv/config src/main.ts
    

    但如果需要监听代码改动后,重启项目,那么可以使用nodemon来监听并重启应用。安装nodemon完毕后,可以在项目根目录新建一个nodemon.json配置文件

    {
      "watch": ["src/**/*.ts"],
      "ext": "ts",
      "ignore": ["**/*.test.ts"],
      "exec": "node -r ts-node/register  -r tsconfig-paths/register src/main.ts"
    }
    

    然后在命令行执行nodemon指令即可启动一个自动更新的开发环境应用了。

    相关文章

      网友评论

          本文标题:基于NestJS搭建node服务应用

          本文链接:https://www.haomeiwen.com/subject/wszvdktx.html