2016-09-22 23 views
3

私はこの欺瞞が__moduleNameを使用できるので、現在の場所をsystemjsが知ることができ、フォルダパス全体を指定する必要はありません。ReferrenceError:__moduleNameが定義されていません。角度2

コンポーネント

@Component({ 
    moduleId: __moduleName, 
    selector: 'app-customer', 
    templateUrl: 'customer.component.html' 
}) 

app.d.ts

declare var __moduleName: any; 

私はすでに__moduleNameはグローバル変数であることを宣言しますが、コンソールはまだreferrenceエラーを言います。助言がありますか?

+0

同じ問題を。古いAnger2デモのmodule.idバージョンを使用しているサイドノートではほとんど機能しますが、子コンポーネントの親コンポーネントをレンダリングし続けます。 –

答えて

1

これは、蒸散を登録するフォーマットと関係があります。 'system'は、モジュールへの相対パスを使用するために変数__moduleNameを登録します。これは角モジュール(ノードモジュールのバンドル)ではなく、ノードモジュール(jsファイル)です。ノードには、 'commonjs'形式の場合はmodule.idというデフォルトを使用できます。

あなたはtsconfig.jsonの設定を確認することができます。

{ 
"compilerOptions": { 
    ... 
    "module": "amd | umd | system | commonjs | es6 | es2015 | none", 
    ... 
} 

}

https://www.typescriptlang.org/docs/handbook/compiler-options.html

関連する問題