一、ts-node支持别名路径解析
typescript 配置 paths 别名后,import 相关模块,ts-node 运行报错,报错信息如下:
Error: Cannot find module '@/<your module path>'
解决方法:
安装 tsconfig-paths 模块:
npm i -D tsconfig-paths
tsconfig中添加配置:
"ts-node": {
"require": ["tsconfig-paths/register"],
"files": true
}
又或者在执行 ts-node 时带上参数 -r tsconfig-paths/register
ts-node -r tsconfig-paths/register '<your code path>'
如此,依赖 ts-node 运行 .ts 代码时,才能正确解析以别名引用的模块。
二、像前端一样在浏览器调试后端代码
运行命令添加 inspect 参数,并指定调试监听地址:
node --inspect=0.0.0.0:9229 src/<your app>.ts
运行项目后,在浏览器(edge/chrome)里打开 chrome://inspect,依次执行以下操作:
勾选“Discover network targets”并配置
inspect指令指定的地址;-
稍等片刻页面会侦测到项目运行,并在 “Remote Targets” 中列出;
chrome://inspect 点击“Inspect”地址,在随后弹出的 DevTools 中进入“源代码”选卡,在次级选卡“节点”里找到“file://”,其中列出了开发目录及源码;
-
找到需要调试的文件,按需操作调试即可。
DevTools
如果把参数 inspect 替换为 inspect-brk,这会让项目运行开始便暂停进程,只有开发者手动“恢复脚本执行”项目才会继续。
以上就是在访问项目页面的同时即刻排查后端的脚本的方法,一个指令和少许的设置带来的是前后端无缝调试的丝滑体验。

