9

typescript プラグインで Atom エディターを使用すると、次のエラーが発生します。

エラー ファイル「D:/foo/app/classes/event.class.ts」が TypeScript コンパイル コンテキストに含まれていません。これが意図されていない場合は、tsconfig.json ファイルの「files」または「filesGlob」セクションを確認してください。行 1 列 1

私の 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しかし、それは基本的に純粋さとプラグマティズムについての議論になりました。files および filesGlob 配列が欠落している場合、暗黙の「すべて」のグロブが使用されることを理解しました。この場合、ファイルと 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;
    }
}
4

3 に答える 3

9
于 2016-07-03T15:14:21.867 に答える
8

私の場合、解決策は異なりました:

  1. プロジェクト内のすべてのファイルにすべてのインポートが適切に記述されていることを確認してください。(大文字と小文字を区別)
  2. すべてのファイルを保存します。Atom を閉じます。コンピュータを再起動してください。(必要はありません)
  3. Atom を再度開きます。終わり。:)

このバグで何か他のことが発生した場合は更新します。

于 2016-08-09T21:15:31.510 に答える
3

atom私の場合、隠しディレクトリの ts ファイルがコンパイルされていませんでした。パスを明示的に追加するとtsconfig.json、問題が解決されました。

"filesGlob": [
  "**/*.ts",
  ".serverless_plugins/**/*.ts",
  "!node_modules/**"
],
于 2016-12-28T01:27:02.803 に答える