我有一个tsconfig.json文件,其中包含以下内容:
{"compilerOptions": {
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"outDir": "./target/src/",
"rootDir": "./src/main/webapp/",
"sourceMap": true,
"experimentalDecorators": true
},
"exclude": ["node_modules", "target"]
}
当我运行tsc时,我收到错误:
错误TS6059:文件' ../ node_modules / ng2-select / components / ng2-select-config.ts'不是在rootDir' '主/ web应用&#39 ;. ' ROOTDIR'预计包含所有源文件。
当我尝试在文件中加载ng2-select时,罪魁祸首似乎是:
import {Component} from 'angular2/core';
import {select} from 'ng2-select';
如果我在没有第二次导入的情况下运行tsc就可以了。如果我添加第二个我得到的错误。
关于为什么它尝试编译ng2-select的任何想法,即使它应该被忽略?
谢谢!
答案 0 :(得分:1)
这可能是ng2-select
模块结构的问题,也可能是typescript编译器的错误。
问题是由于您尝试加载的模块目录中的.ts
和.d.ts
文件位于同一目录中而引起的。这似乎导致typescript编译器重新编译模块然后变得困惑,因为它编译了rootDir
之外的东西。
我遇到了同样的问题并且有raised it on the module's GitHub repository。 This answer现在可能对你有所帮助,尽管它并不理想。希望很快就能解决。
<强>更新强>
latest release解决了这个问题。