在tsconfig.json中:
"baseUrl": "./",
"paths": {
"@/*": [
"src/*"
]
},
将.ts编译为es6时,'@'
仍保留在代码中,这是意外的:
// in compiled .js file:
export * from '@/models';
export * from '@/controllers';
有什么方法可以使ts编译器在编译时解析路径?
Babel可以通过设置'@/...'
将alias
转换为真实路径,但仅对*.js/*.ts
有效,不能处理由ts编译器生成的*.d.ts
。
Babel可以使用某些特定的配置来解析*.d.ts
中的路径吗?
PS:使用babel src --extensions ".ts,.tsx" --out-dir XXXX
来翻译ts,这里是.babelrc
:
{
"presets": [
"@babel/env",
"@babel/typescript"
],
"plugins": [
["@babel/plugin-transform-runtime", {
"helpers": true,
"polyfill": true,
"regenerator": true
}],
["module-resolver", {
"root": ["./"],
"alias": {
"@": "./src"
}
}],
"@babel/proposal-class-properties",
"@babel/proposal-object-rest-spread"
]
}