Typescript 类型脚本编译器(tsc)不使用';无法识别导入别名

Typescript 类型脚本编译器(tsc)不使用';无法识别导入别名,typescript,tsc,tsconfig,Typescript,Tsc,Tsconfig,首先也是最重要的一点是,我已经准备好了复制我的问题 我遇到了一个问题,tsc无法将我的TypeScript编译成JavaScript 我使用的是导入别名,我可以直接使用和运行我的应用程序,如下所示: ts-node -r tsconfig-paths/register main 但是,让我困惑的是,当我运行以下程序时: tsc --outDir out main 我从编译器中看到TS2307错误,抱怨它找不到由我的导入别名定义的模块: main.ts:1:24 - error TS2307:

首先也是最重要的一点是,我已经准备好了复制我的问题

我遇到了一个问题,
tsc
无法将我的TypeScript编译成JavaScript

我使用的是导入别名,我可以直接使用和运行我的应用程序,如下所示:

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路径对
ts节点所做的那样)

尝试将tsconfig.json传递给
tsc


tsc--config path/to/tsconfig.json--outDir out main

我认为您的问题在于版本,请尝试将您的
typescript
更新为
3.4.5+
tsconfig path
更新为最新版本。将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:project

谢谢@hackape的回答,但我认为
tsc
没有
-c
选项;我尝试过这样做:
tsc-p path/to/tsconfig.json--outDir out
,但是,我正在Windows上测试它,但它什么都没做(我稍后会在家里用Linux进行测试)很抱歉,我的错误应该是
--config
,您找到解决方案了吗?