crayon-shin-chan
这个作者很懒,什么都没留下…
展开
-
记一个ts问题“Cannot write file ... because it would overwrite input file.“
1.简介ts构建或者运行抛出这个错误2.解决检查下ts文件里有没有导入编译输出目录dist里的文件,改了导入路径到src下面就好这一般是IDE自动完成导入时的错误原创 2021-11-19 18:26:10 · 2163 阅读 · 0 评论 -
nest.js实战之模块路由前缀
1.简介nest.js文档提供了两种路由前缀,一种是全局前缀: const app = await NestFactory.create(AppModule); app.setGlobalPrefix('v1')还有一种是Controller级别的前缀,在一个Controller里起作用:@Controller('/auth')export class AuthController {现在有一个需求,将路由分为多个模块,每个模块使用不同的路由前缀,如A...原创 2021-04-03 17:57:15 · 1787 阅读 · 0 评论 -
nest.js实战之集成sentry
1.简介Sentry API用于将事件提交给Sentry收集器以及导出和管理数据。报告和Web API分别进行了版本控制。2.安装仓库:https://github.com/ntegral/nestjs-sentrynpm install --save @ntegral/nestjs-sentry @sentry/node@ntegral/nestjs-sentry:nestjs的sentry模块,提供了一些可注入服务 @sentry/node:sentry...原创 2021-03-13 22:51:05 · 690 阅读 · 0 评论 -
nest.js实战之JWT认证、装饰器角色校验、装饰器获取当前用户
1.简介nest.js可以集成passport的认证,jwt可以作为一种passport认证策略实现我们需要实现以下功能:登录返回一个JWT token,token的有效载荷是用户信息,后续可以使用Bearer Token来进行访问使用Bearer Token访问时,可以在Guard里解析token,将用户信息设置到req.user,如果jwt无效,抛出认证异常AuthGuard注册为全局Guard,默认所有路由需要认证自定义装饰器,设置元数据,用于标记路由不需要认证,并...原创 2021-03-13 21:26:01 · 2845 阅读 · 2 评论 -
nest.js实战之Interceptor转换响应
1.简介一般前后端的响应会约定一个模式来方便前端的响应处理,如nest.js出现异常时的模式:{ "statusCode":400, "data": null, "message": "Bad Request"}这样前端可以直接判断statusCode来处理响应但是,controller方法里会直接返回需要的数据,即data部分如果要在所有controller方法里都包裹上一层statusCode,这样代价又比较大,所以希望有一个统一的切...原创 2021-03-13 18:42:48 · 1010 阅读 · 0 评论 -
ES7之元数据
元数据api存在于reflect-matadata包中,是es7特性之一,用来在对象之外存储它上面的相关元数据,其中Reflect命名空间以前就存在,元数据api只是将方法注册到Reflect命名空间上,Reflect.ts:/*Reflect命名空间 */namespace Reflect { /*存储数据结构,其实是个对象,而不是Map*/ type HashMap =原创 2018-03-04 21:59:11 · 1078 阅读 · 0 评论 -
typescript常用编译结果函数__decorate、__matadata、__param、__awaiter
typescript编译时,经常会生成一些工具函数,如__decorate、__matadata、__param、__awaiter,这些工具函数是用来执行一些typescript特性的,如装饰器、发射元数据、async/await等,下面是几个编译结果函数"use strict";/* 获取{} */console.log(this)/* 如果__decorate未定义则定义它,var声明...原创 2018-04-12 12:47:31 · 3500 阅读 · 0 评论 -
typescript的编译配置
typescript要被编译为js才可以运行,就算使用ts-node也是编译到临时文件夹运行,一般编译的配置文件为tsconfig.json使用tsconfig.json的情况有:1.不带输入文件调用tsc命令,会寻找并使用当前目录下的tsconfig.json文件2.不带输入文件调用tsc命令,使用-p、--project选项指定一个包含了tsconfig.json文件的目录原创 2018-03-07 18:50:48 · 9699 阅读 · 0 评论 -
使用ts-node直接运行ts项目
这里指的是整个项目使用ts写,不进行编译,直接运行index.jsrequire('ts-node/register');require('./server');先使用ts-node/register进行注册,然后直接运行server.ts脚本原创 2018-01-15 23:24:41 · 24292 阅读 · 0 评论 -
typescript学习笔记之编译器与运行时
安装编译器,用来将ts文件编译为js文件:npm i -g typescript使用命令tsc ***.ts来编译ts文件安装运行时,用来直接运行ts文件:npm i -g ts-node使用命令ts-node ***.ts来运行ts文件原创 2018-01-06 10:20:52 · 1254 阅读 · 0 评论