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 开发思维。

相关推荐
奇奇怪怪的17 分钟前
Embedding 模型 10+ 横向评测
前端
陈广亮20 分钟前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰21 分钟前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼22 分钟前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
子兮曰28 分钟前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust
Hyyy1 小时前
Function Calling / Tool Use的原理和实现模式
前端·llm·ai编程
爱勇宝2 小时前
从 Ctrl+CV 到 Enter:程序员正在失去什么
前端·后端·程序员
徐小夕2 小时前
我们开源了一款“框架无关”的思维导图编辑器,3分钟集成到任意系统
前端·javascript·github
PBitW2 小时前
GPT训练我的第三天,明白了应该咋说满分回答!😕😕😕
前端·javascript·面试
摸着石头过河的石头2 小时前
前端多仓库管理:从混乱到有序的进化之路
前端