我有一个与此类似的文件夹结构(数字表示深度):
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/project/package/dist
,而不是root/node_modules/packagescope/package
,并且我想从test1/file1
目录导入test2/file2
和root
)。
在开发软件包期间,我有一些测试文件可以用作临时替换文件,但我不希望将这些文件添加到编译时的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.
如何使它工作?
答案 0 :(得分:0)
它编译project / package / src中的文件,并将其输出到project / package / dist。因此,编译后,我应该拥有文件project / package / dist / index.js
您必须将所有src放在src
中。将test
移至src
,然后移至.npmignore
dist/test
。
TypeStyle是一个开放源代码示例:https://github.com/typestyle/typestyle/tree/master/src/tests?