这是一个 XY problem ;回答任何部分都可以。
X:我想从单个源树中生成多个包。我知道 webpack supporting this ,但我怕,我不能用。例如,我的路由器由一个或多个映射路由(字符串)到页面(组件)的映射提供。我将这些 map 存储在单独的文件中,并根据需要注释导入和使用它们(我为我编写了一个简单的脚本)。
有更好的解决方案吗?
是:因此,在构建管理包时,无法从 index.tsx
访问用户页面。 .尽管如此,我还是收到了他们的 typescript 错误。即使我创建一个包含错误的新未使用文件,也会发生同样的情况。
如何避免编译未使用的文件?
我没有像我希望的那样在这里发布我所有的配置文件,在某处有一个简单的设置。我会在需要的时候做。单单这份 list 就让我很郁闷:
.babelrc
.env
.eslintrc
.gitignore
config-overrides.js
package.json
tsconfig.json
tslint-imports.json
最佳答案
这是一个部分的答案,但希望它会带你走向正确的方向。 typescript 查看 tsconfig.json。假设您的启动来自 npm 脚本,您可以指定要与 --project
一起使用的 tsconfig标志,如 tsc --project tsconfig-1.json
.
在您的 tsconfig.json 文件中,只包含入口文件,例如
include: [
"src/app/index.ts"
]
如果您有类似
"src/**/*"
的信息,然后它将处理所有文件。但是如果您只指定入口文件,那么它将只处理该导入树中的文件。树由 import
定义/import()
声明。 require
可能会被区别对待,我不确定。供引用:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
如果要创建多个包,则需要运行多个 npm 脚本并拥有多个 tsconfig 文件,或者从命令行指定这些文件。
关于reactjs - 如何让 typescript 只编译需要的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57245550/