今天跟我组长花了不少时间去把公司项目中,我几天前的写的代码抽离出去,天,抽离出去,恶心的头疼,难搞的要GG,还要保存到之后再加回去。使用的工具是sourcetree 哪怕用这种可视化的git工具,也是麻烦事情。不过搞完后
我学会了新东西 “回滚数据”

然后进入正题,nest.js笔记

# 项目启动

npm run start 普通启动项目
npm run start:dev 有热更新的启动项目

# 基础路由

@Get 需要引入,然后这个装饰器就是 get 方法请求,也是路由。通过配置参数来实现

(关于新建这个nest的东西,和我之前学的nuxt,php完全不一样,居然是使用命令行的,详见下面)
而新建控制器后,控制器名就是那个控制器的路由,而控制器内的模块路由,就是控制器/模块
例如 article 控制器,通过/article 来访问,里面还有个增加文章页面,那就是/aricle/add 路由 ,对于新控制器的路由,就不需要再根控制器内创建了
对于控制器的路由 也可以在@Controller('xxx')这个地方自定义

# 创建工具

再命令行 使用 nest g --help 来查看所有创建项(我放在了最下面,截了图)
再使用 nest g 后面拼接指定的字符来创建需要的工具
例如创建新控制器 nest g controller “控制器名”

# 获取 Get 参数

通过 Query 引入 Query 装饰器 然后在方法参数里使用,并在装饰器后面定义参数来接受
addData(@Query() query)

 如果在Query装饰器里面写入参数,就相当于获取Query里这个参数字段的数据
 @Query('id')-> Query.id
# 获取 Post 参数

通过 Body 装饰器
create(@Body() data)

# 动态路由

通过 param 装饰器获取参数
@Get(':id')
index(@Param() param) {
console.log(param);
return 'param 参数';
}

# 模糊匹配
支持模糊匹配   @Get('a*') 这样只要以a开头,都可以匹配这个

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐