我们正在使用Visual Studio 2017
并且有两个独立的Web项目,它们应该共享一些用React
编写的TypeScript
组件。还可以共享JavaScript
文件和CSS
文件。为此,我们在Visual Studio中创建了一个Shared Project
。
What is the difference between a Shared Project and a Class Library in Visual Studio 2015?
现在,项目只有一个包含此信息的文件。
export const Types = {
Type1: '1',
Type2: '2',
Type3: '3'
}
为了测试,我可以像这样引用它,Visual Studio将找到该文件:
import { Types} from '../../../2/Constants/Types'
但是,当我尝试运行webpack
时,我收到以下错误:
TS6059:文件'/2/Constants/Types.ts'不在'rootDir'/ 1'下。 'rootDir'应包含所有源文件。
我为此目的使用了rootDirs编译器选项,它似乎工作膨胀!
"rootDirs": [
"../some/folder/outside",
"src",
]
在我的tsconfig.json
发现了问题。我有以下价值:
"rootDir": ".",
如果我把它改成了它就开始工作了:
"rootDir": "../",
但是根据手册,默认值是这个:
公共根目录是从输入文件列表计算的
读完之后我决定完全删除该值,让编译器设置默认值。
https://www.typescriptlang.org/docs/handbook/compiler-options.html