设置TypeScript编译器';s基本/工作目录

设置TypeScript编译器';s基本/工作目录,typescript,compilation,tsc,Typescript,Compilation,Tsc,它看起来像是TypeScript编译器相对于tsconfig.json文件的位置解析文件 是否有方法指定用于相对路径解析的备用基本目录 我想使用一个通用的tsconfig.json文件来编译不同目录中的多个项目 在TypeScript官方存储库中。我遇到了与您类似的问题,但在每个项目中都使用tsconfig.json解决了它 我有前端和后端代码以及两者之间的共享代码。它具有以下目录结构 /my-project /common *.ts /frontend *.

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

是否有方法指定用于相对路径解析的备用基本目录

我想使用一个通用的
tsconfig.json
文件来编译不同目录中的多个项目


在TypeScript官方存储库中。

我遇到了与您类似的问题,但在每个项目中都使用
tsconfig.json
解决了它

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

/my-project
   /common
      *.ts
   /frontend
      *.ts
      tsconfig.json
   /backend
      /src
         *.ts
      tsconfig.json
以下是
后端/tsconfig.json

...
"compilerOptions": {
  ...
  "outDir": "./dist",
  ...
}
...
Typescript编译器会根据您的
tsconfig.json
自动确定所有
*.ts
文件中最大的公共祖先目录,因此
rootDir
。您甚至不需要显式地指定
rootDir
,因为编译器将层次结构向上遍历到
myproject
,并将其设置为根

后端/some.ts
中的导入如下所示:

import { Foo } from '../../common/some-shared';
由于编译器的自动
rootDir
计算,唯一的问题是
backend/dist
目录中的输出如下所示:

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

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

我也有同样的问题,你是否已经想出了如何摆脱
dist/backend/src
结构(尤其是
src
part:)?不幸的是,没有:(我做了一点调查,似乎它超出了Typescript编译器的范围,因此无法实现。