前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nest.js Cli 详细讲解

Nest.js Cli 详细讲解

原创
作者头像
程序员海军
发布2023-11-03 00:15:04
4150
发布2023-11-03 00:15:04
举报
文章被收录于专栏:前端笔记ing前端笔记ing

关于 Nest Cli

Nest CLI 是一个命令行工具,用于快速创建和管理 Nest.js 应用程序。它提供了一组命令,可以帮助开发人员快速生成模块、控制器、服务等代码文件,并且可以自动安装所需的依赖项。

Nest CLI 的主要功能包括:

  1. 创建新的 Nest.js 应用程序
  2. 生成模块、控制器、服务等代码文件
  3. 自动安装所需的依赖项
  4. 支持 TypeScript 和 JavaScript
  5. 支持单元测试和端到端测试
  6. 支持 linting 和格式化代码

使用 Nest CLI 可以大大提高开发效率,让开发人员更专注于业务逻辑的实现,而不是手动创建和管理代码文件。同时,Nest CLI 还提供了一些可定制的选项,可以根据项目需求进行配置。

nest-cli.json

在 Nest 项目中,nest-cli.json 是一个用于配置 Nest CLI 的工具文件。该文件允许您自定义 Nest CLI 的行为和设置。

代码语言:txt
复制
{
  "collection": "@nestjs/schematics",
  "sourceRoot": "apps/my-project/src",
  "monorepo": true,
  "root": "apps/my-project",
  "compilerOptions": {
    "webpack": true,
    "tsConfigPath": "apps/my-project/tsconfig.app.json"
  },
  "projects": {
    "my-project": {
      "type": "application",
      "root": "apps/my-project",
      "entryFile": "main",
      "sourceRoot": "apps/my-project/src",
      "compilerOptions": {
        "tsConfigPath": "apps/my-project/tsconfig.app.json"
      }
    },
    "my-app": {
      "type": "application",
      "root": "apps/my-app",
      "entryFile": "main",
      "sourceRoot": "apps/my-app/src",
      "compilerOptions": {
        "tsConfigPath": "apps/my-app/tsconfig.app.json"
      }
    }
  }
}

该文件分为以下几个部分:

  • 具有顶级属性的全局部分,用于控制标准和单存储库范围的设置
  • 包含有关每个项目的元数据的顶级属性("projects")。本部分仅适用于单存储库模式结构。

顶级属性如下所示:

  • "collection":指向用于生成元件的原理图集合;通常不应更改此值
  • "sourceRoot":指向标准模式结构中单个项目的源代码根,或 monorepo 模式结构中默认项目的源代码根
  • "compilerOptions"编译器选项”:带有指定编译器选项的键和指定选项设置的值的映射;请参阅下面的详细信息
  • "generateOptions"生成选项”:一个映射,其中键指定全局生成选项和值指定选项设置;请参阅下面的详细信息
  • "monorepo":(仅限 monorepo)对于 monorepo 模式结构,此值始终为 true
  • "root":(仅限 monorepo)指向默认项目的项目根目录

🔗DOC链接:https://docs.nestjs.com/cli/monorepo

项目文件介绍

代码语言:txt
复制
src
 ├── app.controller.spec.ts
 ├── app.controller.ts
 ├── app.module.ts
 ├── app.service.ts
 └── main.ts

创建模块流程

生成CURD 模块

可以使用 Nest-cli 提供的指令来快速生成,并且它可以帮你自动注入到相应的模块当中。

  • 生成一个模块 (nest g mo) 来组织代码,使其保持清晰的界限(Module)。
  • 生成一个控制器 (nest g co) 来定义 CRUD 路径(Controller)。
  • 生成一个服务 (nest g s) 来表示/隔离业务逻辑(Service)。
  • 生成一个实体类/接口来代表资源数据类型(Entity)。
代码语言:txt
复制
nest g co book  //创建一个 book 控制器
nest g s book  //创建一个 book server 服务
nest g mo book  //创建一个 book 模块
nest g gu book  //创建一个  book 守卫
nest g in book    //创建一个 book 拦截器
nest g f book  //创建一个book 过滤器

nest 还提供了一个指令,可以快速生成上面文件

nest g resource book

并且所有用过指令创建的文件都会自动注入到 全局模块当中,供其它模块使用

后续持续更新Nest 专栏~ !

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于 Nest Cli
  • nest-cli.json
  • 项目文件介绍
  • 创建模块流程
    • 生成CURD 模块
    相关产品与服务
    命令行工具
    腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档