1

最新の WebStorm EAP 7 130.958 を使用しています。

バージョン 6 で Typescript がサポートされて以来、このバグのある動作がありました。以下のコード例の問題は、追加した瞬間に ExtendedClass.ts の BaseClass に「未解決の変数」を適用します ...

///<reference path="./Interfaces.ts"/>

参照パスを削除すると、エラーはなくなります。これは、参照パスが存在する場合にのみ、ノード モジュールからインポートされたクラスから拡張するたびに発生します。これがどのようにして 6 から 7 までずっと続いたのでしょうか。

Interfaces.ts

interface IBaseClass {
    str:string;
}

BaseClass.ts

///<reference path="./Interfaces.ts"/>
export class BaseClass implements IBaseClass{
    constructor(public str:string){
        return str+str;
    }
}

ExtendedClass.ts

///<reference path="./Interfaces.ts"/>
import baseClassModule = module("./BaseClass");

class ExtendedClass extends baseClassModule.BaseClass{
    constructor(public str:string){
        super(str);
    }
}

var extendedClass:ExtendedClass = new ExtendedClass("yo");

console.log(extendedClass);

エラーなし

エラー

4

2 に答える 2

3

これはバグです。///<reference path="./BaseClass.ts"/>回避策として、ExtendedClass.ts ファイルに追加できます。WEB-7645を見て、いつ修正されるかを通知してください。

于 2013-07-18T09:22:14.150 に答える
0

それを「export interface IBaseClass」に変更し、反対側でそれを要求する必要があります。

実行時に、そこにない js ファイルをロードするとエラーが発生する場合があります。その場合は、空の js ファイルを作成します。

私の推奨事項:requirejs/commonjsを使用する場合は、インターフェースだけのファイルを持たないでください

于 2013-07-17T22:21:07.883 に答える