首先,我已经准备好了this sample GitHub repository作为重现我的问题的最低要求。
我遇到了 tsc
无法将我的 TypeScript 编译为 JavaScript 的问题。
我正在使用导入别名,我可以使用 ts-node
直接运行我的应用程序和 tsconfig-paths
像这样:
ts-node -r tsconfig-paths/register main
但是,令我困惑的是,当我运行以下命令时:
tsc --outDir out main
我看到来自编译器的 TS2307
错误,提示它找不到由我的导入别名定义的模块:
main.ts:1:24 - error TS2307: Cannot find module '@utils/.'.
1 import * as utils from '@utils/.';
~~~~~~~~~~
main.ts:2:22 - error TS2307: Cannot find module '@cmd/.'.
2 import * as cmd from '@cmd/.';
~~~~~~~~
我在这里错过了什么?我认为 tsc
应该在没有任何“助手”的情况下正常工作(因为 tsconfig-paths
正在为 ts-node
做)
最佳答案
尝试将您的 tsconfig.json 传递给 tsc
tsc --config path/to/tsconfig.json --outDir out main
关于TypeScript 编译器 (tsc) 无法识别导入别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55486970/