NestJS基础-7: 官方 CLI 完整使用指南

在 NestJS 项目开发中,命令行工具是开发者最常用、最高效的生产力工具。NestJS 官方提供了一套成熟的 CLI 工具,能够帮助快速初始化项目、生成标准模板代码、统一工程结构,规避手写代码的不规范问题,极大提升后端开发效率。

一、 NestJS CLI 简介

对于 Node.js 后端开发而言,规范化和工程化是项目可维护的核心。NestJS CLI 作为官方标配工具,具备统一的项目创建标准、标准化的代码模板、简洁的命令操作三大优势,能够统一团队开发规范,避免不同开发者创建的项目结构混乱、代码风格不一的问题,是 NestJS 开发的必备基础技能。

二、NestJS CLI 安装与版本规范

1. 全局安装 CLI 工具

官方推荐全局安装 NestJS CLI,安装后可在任意目录执行 Nest 命令,无需重复配置,使用更加便捷。

安装完成后,可通过以下命令验证是否安装成功及查看版本:

复制代码
nest --version

这里需要重点注意:NestJS 不同版本存在 API 差异,版本更迭可能带来兼容性变更,因此开发中必须遵循语义化版本规则,规避版本兼容问题。

2. 语义化版本号规则

NestJS 采用标准的三段式语义化版本号,格式为 主版本号.次版本号.修订号,每一段版本更新的意义各不相同:

  • 主版本号:重大版本迭代,包含不兼容的 API 底层修改,升级后可能导致旧项目代码报错

  • 次版本号:功能性迭代,新增兼容原有项目的新功能,不会破坏现有代码逻辑

  • 修订号:修复性迭代,仅针对已知 Bug 进行修复,无功能增减、无兼容性影响

三、项目初始化与常用命令

1. 新项目初始化

快速创建标准 NestJS 项目是 CLI 最核心的功能,官方标准初始化命令如下:

复制代码
nest new 项目名称

为保证工程规范化,项目命名需严格遵循小写字母+短横线的规范,禁止使用大写字母、下划线及特殊符号。

在项目初始化过程中,终端会提示选择包管理工具,官方优先推荐 pnpm,其安装速度更快、磁盘占用更低,依赖管理更高效。项目初始化完成后,即可进入项目目录进行开发配置。

2. 高频核心命令详解

NestJS CLI 内置多个高频命令,覆盖项目创建、代码生成、帮助查询全开发场景,熟练使用可大幅减少重复编码工作:

  • new / n :项目初始化命令,简写 nest n 项目名,快速生成标准化空项目

  • generate / g:模板生成命令,可一键生成控制器、模块、服务、类等官方标准模板文件,统一代码格式

  • help:帮助查询命令,查看 CLI 所有命令的官方文档及使用方式

3. Generate 专属实用参数

generate 命令支持自定义参数,适配不同开发场景需求,两个最常用参数如下:

  • -d:测试运行模式,仅模拟文件生成操作,不会实际写入文件,适合提前预览生成效果

  • --no-spec:跳过测试文件生成,执行命令后仅生成业务代码文件,不自动创建 .spec.ts 测试文件,精简项目结构

四、拓展方案:使用 degit 快速创建模板项目

除了官方 CLI 初始化空白项目外,开发中还可借助 degit 工具 快速下载成熟模板项目,适配快速开发、项目复刻场景。

degit 的核心优势:区别于 git clone,该工具仅下载仓库最新源码,不拉取历史提交记录,下载速度更快、项目体积更小,轻量化且高效。

1. 优质模板资源渠道

可通过 Awesome Nestjs 资源合集获取各类成熟技术栈模板,涵盖 Redis、TypeORM、鉴权、日志等常用技术场景,支持关键词精准检索,满足不同项目开发需求。

2. degit 完整使用流程

  1. 全局安装 degit 工具,确保终端可直接调用;

  2. 执行下载命令:degit 仓库地址 项目目录名,拉取模板项目源码;

  3. 进入项目目录,安装项目依赖;

  4. 启动项目,查阅项目文档,熟悉对应技术栈配置与目录结构。

五、笔者注

先通过NestJS CLI 创建空白基础项目,手动搭建目录结构、编写基础接口、配置核心功能,熟悉项目底层逻辑;熟练掌握基础用法后,再结合成熟模板进行快速业务开发,循序渐进提升工程化开发能力。

同时,结合 RESTful API 规范、官方代码规范,完成 Recipe 接口等综合实操练习,可快速巩固 CLI 使用技巧与 NestJS 开发思维。

相关推荐
AI_零食1 小时前
HarmonyOS-鸿蒙原生 ArkTS 布局系统:width(‘100%‘) 的本质与 padding 陷阱
前端·学习·华为·harmonyos·鸿蒙
英俊潇洒美少年1 小时前
React18 flushSync 完整深度解析
前端·react
小鱼程序员1 小时前
Reqable关于路径定位
前端
梦曦i2 小时前
Vite 0.1.7:构建追踪与资源映射新升级
前端
qq4356947012 小时前
Vue02
开发语言·前端·javascript
AsiaLYF2 小时前
Kotlin MutableSharedFlow: emit vs tryEmit 详解
开发语言·前端·kotlin
喜欢踢足球的老罗2 小时前
Chrome MV3 插件架构深度解析:Service Worker 生命周期与 Token 管理的三层博弈
前端·chrome·架构
小李云雾2 小时前
Pinia:Vue3 全局状态管理从入门到精通
前端·javascript·vue.js
Upsy-Daisy2 小时前
Hermes Agent 学习笔记 03:CLI 与 TUI 使用体验,让 Agent 真正进入终端工作流
服务器·前端·数据库