TS6059在忽略目录中

时间:2016-03-17 16:29:40

标签: angularjs typescript angular

我有一个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的任何想法,即使它应该被忽略?

谢谢!

1 个答案:

答案 0 :(得分:1)

这可能是ng2-select模块结构的问题,也可能是typescript编译器的错误。

问题是由于您尝试加载的模块目录中的.ts.d.ts文件位于同一目录中而引起的。这似乎导致typescript编译器重新编译模块然后变得困惑,因为它编译了rootDir之外的东西。

我遇到了同样的问题并且有raised it on the module's GitHub repositoryThis answer现在可能对你有所帮助,尽管它并不理想。希望很快就能解决。

<强>更新

latest release解决了这个问题。