首先也是最重要的,我准备了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/.';
~~~~~~~~这里我漏掉了什么?我认为没有任何“助手”(就像tsconfig-paths为ts-node所做的那样),tsc应该可以很好地工作。
发布于 2019-04-03 12:38:59
尝试将您的tsconfig.json传递给tsc
tsc --config path/to/tsconfig.json --outDir out main
发布于 2019-08-09 19:08:29
我想你的问题出在版本上,试着把你的typescript更新到3.4.5+和tsconfig-paths到最新版本。将NPM脚本属性添加到package.json,这样tsc -p tsconfig.json发出的所有调用都将解析为NPM包,而不是全局
"scripts": {
"build": "tsc -v && tsc -p tsconfig.json",
"prestart": "rimraf dist && npm run build",
"start:project": "npm run prestart && node dist/main.js",
}然后通过执行以下操作调用脚本:项目npm run start:
https://stackoverflow.com/questions/55486970
复制相似问题