对于复杂项目结构的每个文件夹,分别使用tsconfig

问题描述

我有一个复杂的项目,其中每个文件夹使用tsconfig的不同选项(例如不同的jsxFactory)。

这是我构建项目的方式:

tsconfig
src-folder1
 - tsconfig
src-folder2
 - tsconfig

我希望生成的编译看起来像这样:

tsconfig
src-folder1
 - tsconfig
src-folder2
 - tsconfig
folder1  (compiled from src-folder1)
folder2  (compiled from src-folder2)

根tsconfig没有任何rootDir,outDir,include,exclude,files选项。

我的src-folder1 tsconfig看起来像这样:

{
  "extends": "../tsconfig.json","compilerOptions": {
    "jsxFactory": "React.createElement","outDir": "../folder1"
  }
}

为Folder2编写了类似的内容,但文件夹的outDir(../folder2)和jsxFactory不同。

我这样编译各个文件夹:

    "tsc.folder1": "tsc -p src-folder1/tsconfig.json","tsc.folder2": "tsc -p src-folder2/tsconfig.json","tsc": "npm run tsc.folder1 && npm run tsc.folder2",

如果单个文件夹不包含彼此的文件,则此方法有效。但是,如果folder1folder2导入内容

import { something} from "../src-folder2/something"

输出将改为:

tsconfig
src-folder1
 - tsconfig
src-folder2
 - tsconfig
folder1
  src-folder1
  src-folder2
folder2  (compiled from src-folder2)
  src-folder1

我该如何解决这个问题?

我为什么要这样做?

我希望无需使用dist/前缀即可使用独立的文件夹。

import {something} from "myLib/folder1/something"
import {somethingElse} from "myLib/folder1/somethingElse"

我的想法是,打字稿只是编译以src-为前缀的文件夹,并从其开头删除src-

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)