Nestjs cli命令 help
help汉化
Usage: nest <command> [options]
Options:
-v, --version 输出当前版本
-h, --help 输出使用信息
Commands:
new|n [options] [name] 生成Nest应用程序
build [options] [app] 构建Nest应用程序
start [options] [app] 运行Nest应用程序。
info|i 显示Nest项目详细信息。
add [options] <library> 将对外部库的支持添加到项目中。
generate|g [options] <schematic> [name] [path] 生成Nest相关文件:模块、控制器、服务等
生成Nest相关文件示意表:
name(名称) | alias(别名) | description(描述) |
---|---|---|
application | application | 生成新的应用程序工作区,和new命令效果相同 |
class | cl | 创建一个指定名字的目录和class类文件 |
configuration | config | 生成CLI配置文件 |
controller | co | 生成controller文件 |
decorator | d | 生成自定义装饰器文件 |
filter | f | 生成过滤器器文件 |
gateway | ga | 生成网关 |
guard | gu | 生成守护 |
interceptor | itc | 生成拦截器文件 |
library | lib | 在monorepo中生成新库 |
middleware | mi | 生成中间件文件 |
module | mo | 生成模块文件 |
pipe | pi | 生成管道文件 |
provider | pr | 生成提供程序 |
resolver | r | 生成GraphQL解析器 |
resource | res | 生成新的CRUD资源 |
service | s | 生成服务service文件 |
sub-app | app | 在monorepo中生成新应用程序 |
在生成控制器,服务等文件的时候会同时生成一份测试用的文件,可以在命令后缀追加--no-spec
表示不生成测试文件。
示例命令
生成auth模块文件:
nest g mo auth --no-spec
生成auth控制器文件:
nest g co auth --no-spec
生成auth服务文件:
nest g s auth --no-spec
nest会创建一个auth目录,里面就会是生成的对应的文件:
auth.module.ts
auth.controller.ts
auth.service.ts
resource生成资源
如果我们需要单独创建某一个文件,上面的示例其实已经足够了,但是有时候我们可能需要创建一个完整的资源,这个资源包含了:模块、控制器、服务等文件。
我们就可以使用resource
。
nest g res auth --no-spec
此时就会显示生成的风格选项:
? What transport layer do you use? (Use arrow keys)
> REST API
GraphQL (code first)
GraphQL (schema first)
Microservice (non-HTTP)
WebSockets
一般开发接口,我们直接选择REST API
即可,此时还会提示是否生成数据库的数据模型:
? Would you like to generate CRUD entry points? (Y/n)
这个文件一般用于传统的ORM 框架使用,比如TypeORM,当然不同的框架可能会有各自的模型管理方案,这里就看自己需要是否创建,由于我们使用的是prisma,它的表结构不需要单独声明一个文件,我们可以输入n
不进行创建。
回车后就会产生三个文件:
auth.module.ts
auth.controller.ts
auth.service.ts
但是如果我们在选择是否生成数据库数据模型时选择y
,则还会生成DTO和entities实体类文件供我们使用:
dto/create-auth.dto.ts
dto/update-auth.dto.ts
entities/auth.entity.ts
auth.module.ts
auth.controller.ts
auth.service.ts
由于生成的是REST API
风格的资源,所以文件中会有一些常规的示例代码,可以自己改改使用。
至于DTO和entities文件:
- DTO是用于客户端与控制器交互数据用的。
- entities实体类,是用于给TypeORM使用的,一般用于模型定义,当然也可以用来作为返回给前端数据用的一个操作类,具体可以看之后序列化的文章。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据