【发布时间】:2019-06-28 09:37:34
【问题描述】:
我有一个类似这样的文件夹结构(数字表示深度):
1. project/
2. package/
3. dist/
3. src/
4. index.tsx
3. tsconfig.json
1. test1/
2. file1.tsx
1. test2/
2. file2.tsx
在project/package/src/index.tsx 中,我像这样导入测试文件:
import TestFile1 from "../../../test1/file1"
import TestFile2 from "../../../test2/file2"
这是因为我正在创建一个 npm 包,并且我希望能够从项目根目录导入配置文件(即文件夹结构将变为 root/node_modules/packagescope/package,而不是 root/node_modules/packagescope/package,我想从root 目录导入test1/file1 和test2/file2)。
在开发包的过程中,我有一些测试文件用作临时替换,但我不希望在编译时将这些文件添加到dist 文件夹中。我希望能够对这些文件进行类型检查以确保没有错误,但我不希望它们被编译。我基本上想要一个适用于仅编译的“排除”选项。
我想要发生的是,当我运行tsc 时,它会编译project/package/src 中的文件并将其输出到project/package/dist。所以编译后应该有文件project/package/dist/index.js。
我遇到的问题是,如果我将 rootDir 设置为 project/package/src 文件夹,我会收到错误消息:
error TS6059: File 'C:/.../test1/file1.tsx' is not under 'rootDir'
'C:/.../project/package/src'. 'rootDir' is expected to contain all source files.
如何让它工作?
【问题讨论】:
标签: typescript