很多项目都会配置路径别名来简化导入的路径长度
我们写纯ts项目也会配置路径别名,但是发现使用ts-node运行时,路径别名没起作用
这是因为ts-node并不会去解析tsconfig.json,这时就需要额外下载一个包来解决这个问题
首先下载tsconfig-paths
npm i tsconfig-paths -D
在根目录新建tsconfig-paths-bootstrap.js
(其实是在哪里建,叫什么名字都行)
const tsconfigPaths = require('tsconfig-paths');
// 导入 tsconfig.json
const tsconfig = require('./tsconfig.json');
tsconfigPaths.register({
// 把 tsconfig.json 的 baseUrl 和 paths 配置拿过来
baseUrl: tsconfig.compilerOptions.baseUrl,
paths: tsconfig.compilerOptions.paths,
});
最重要的一步的来了,把package,json的运行命令改了
ts-node --require ./tsconfig-paths-bootstrap.js ./src/app.ts
在运行命令中加上require 参数
到这里就好了