2016-05-12 16 views
3

私はAngular2/Typescript/Webpackを使用してアプリケーションを構築していますWebpackでは、どのようにパブリックパスを動的に設定しますか?

webpackオプション "publicPath"を動的に設定する際に問題があります。公式WebPACKのドキュメントでは、それは言う:

は注意:出力ファイルの最終的なpublicPathがコンパイル時に知られていない場合には、それは空白のままにすることができ、エントリーポイントで、実行時に動的に設定しますファイル。コンパイル時にpublicPathを知らない場合は、省略することができ、エントリポイントにwebpack_public_pathを設定することができます。

私の質問:しかし、どのように私はこの__webpack_public_path__変数と場所を設定するのですか?

私はsrc/main.tsでそれを設定しなければならないと思ったが、私はプロジェクトをビルドするとき、私はちょうどコンパイラエラーERROR in ./src/main.ts Cannot find name '__webpack_public_path__'.を取得:

が、私はこの変数を設定する必要がありmain.tsはありませんか?私はファイルmain.jsのビルドされたバージョンでそれを設定しようとしましたが、それもうまくいきませんでした。ここで私のWebpackの設定の一環として、エントリポイントを設定します。

config.entry = isTest ? {} : { 
    'polyfills': './src/polyfills.ts', 
    'vendor': './src/vendor.ts', 
    'app': './src/main.ts' // our angular app 
}; 
+0

これはhttps://github.com/webpack/webpack/issues/443に役立ちますか? –

答えて

7

コンパイラのエラーERROR

./src/main.tsで活字体のコンパイルエラーはほとんど をリンティング本当に強力です。 More on this

このコンパイラエラーは、TypeScriptが__webpack_public_path__について知りません。ただでglobals.d.tsを作成します。

declare var __webpack_public_path__:string; 

そして、あなたは黄金色にする必要があります。 More on this

関連する問題