使用带有 typescript 插件的 Atom 编辑器出现以下错误:
错误 TypeScript 编译上下文中不包含文件“D:/foo/app/classes/event.class.ts”。如果这不是故意的,请检查 tsconfig.json file.at line 1 col 1 的“files”或“filesGlob”部分
我的 tsconfig.json 文件的内容是:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
我查看了其他一些遇到此问题的人。这:https ://github.com/lathonez/clicker/issues/4让我尝试在 tsconfig.json 数组中构建一个“文件”数组。这就像另一个线程中的人一样,没有帮助。请注意,该线程谈到了很多关于测试的内容......这不适用于我。
我也尝试通过这个线程进行解析:https ://github.com/TypeStrong/atom-typescript/issues/558但是这基本上最终成为了关于纯度与实用主义的争论。我确实发现如果文件和 filesGlob 数组丢失,则会使用隐式的“一切”glob。如果是这种情况,鉴于我没有文件和 filesGlob 条目,为什么会出现错误。
顺便说一句,命令行 TSC 可以很好地生成已编译的 js 和映射文件。...但我仍然必须看到 Atom 中的大红色错误。
对于它的价值,event.class.ts 文件看起来像这样(我不认为这是问题的根源,但我想我会包含它以保持完整性):
import {Utilities} from '../utilities';
export class Event {
eventData:JSON;
eventID:string;
constructor(_eventData:JSON, _eventID?:string) {
if(_eventID==null) {
_eventID=Utilities.newGuidPlus();
}
this.eventID = _eventID;
this.eventData = _eventData;
}
getEventData():JSON { // returns the full event
return this.eventData;
}
getEventID():string {
return this.eventID;
}
}