设置TypeScript编译器的基础/工作目录

问题描述 投票:1回答:1

看起来TypeScript编译器会解析相对于tsconfig.json文件位置的文件。

有没有办法指定一个替代的基目录,它将用于相对路径解析?

我想使用通用的tsconfig.json文件来编译各种目录中的多个项目。

在TypeScript官方存储库中的Here's the related question

typescript compilation tsc
1个回答
0
投票

我遇到了类似的问题,但在每个项目中用tsconfig.json解决了这个问题。

我有前端和后端代码以及两者之间的共享代码。它具有以下目录结构。

/my-project
   /common
      *.ts
   /frontend
      *.ts
      tsconfig.json
   /backend
      /src
         *.ts
      tsconfig.json

这是backend/tsconfig.json

...
"compilerOptions": {
  ...
  "outDir": "./dist",
  ...
}
...

Typescript编译器根据你的rootDir自动确定所有*.ts文件中最大的共同祖先目录,即tsconfig.json。您甚至不需要明确指定rootDir,因为编译器将层次结构向上移动到my-project并将其设置为根。

backend/some.ts内导入如下:

import { Foo } from '../../common/some-shared';

由于编译器的自动rootDir计算,唯一的问题是backend/dist目录中的输出如下所示:

/dist
    /common
       *.js
    /backend
       /src
          *.js

我还没有弄清楚如何在编译之前不使用任何复制或捆绑Webpack等来摆脱丑陋的dist/backend/src结构。从我搜索的内容(仍然)不可能仅使用Typescript编译器。也许有人有提示......希望现在有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.