在从 TypeScript 转换的 JavaScript 中文件路径无法解析
我正在使用 @ 符号在 TypeScript 中导入文件。tsconfig.json 文件代码:
{
"compilerOptions": {
"baseUrl": ".",
"target": "ES6",
"module": "CommonJS",
"lib": ["ES2018"],
"outDir": "dist/",
"esModuleInterop": true,
"strict": true,
"sourceMap": false,
"useUnknownInCatchVariables": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"typeRoots": ["./node_modules/@types", "./typings"],
"paths": {
"@src/*": ["src/*"],
"@api/*": ["src/api/*"],
"@config/*": ["src/config/*"],
"@database/*": ["src/database/*"],
"@middlewares/*": ["src/middlewares/*"],
"@utils/*": ["src/utils/*"],
"@validators/*": ["src/validators/*"]
}
},
"exclude": ["node_modules/**/*"]
}
当我将 TypeScript 编译为 JavaScript 时,它使用带有 @ 符号的路径,类似这样:const env_config_1=require("@config/env/env.config");,这不起作用,因为 JavaScript 不理解 @。
我尝试过不同的解决方案,比如使用名为 tsc-alias、tscpaths 的包以及重启 IDE 中的 TypeScript 服务器,但它仍然会在 JavaScript 中将路径转换为带有 @ 符号的形式。
使用 tsc-alias 包的构建命令:"build": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json"