2016-08-22 9 views
4

私はwebpackを使用して構築された内部アプリケーションを頻繁に配備しています。バグ報告をより簡単にするために、webpackがバンドル名に追加する構築ハッシュ[hash]の環境変数を含める必要があります。これにより、ユーザーが最新リリースにいるかどうかを素早く判断できます。ビルドハッシュをwebpackの環境変数として渡すには?

DefinePluginを使用して、次のコードでは文字列を補間せず、代わりにリテラル[hash]文字列を格納します。

new webpack.DefinePlugin({ 
    'process.env': { 
    'HASH': JSON.stringify('[hash]') 
    } 
}) 

ハッシュに変数として直接アクセスする方法はありますか、それを補間する特別な方法はありますか?

答えて

6

https://github.com/webpack/docs/wiki/list-of-plugins#extendedapiplugin

ExtendedAPIPlugin

new webpack.ExtendedAPIPlugin()

バンドルに便利な無料のVARSを追加します。

__webpack_hash__自由なvarとして利用可能なコンパイルのハッシュ。

これはDefinePlugin()で使用することはできませんが、それはどこでもあなたのバンドル内からアクセスできるグローバル__webpack_hash__変数を作成します。

var hash = __webpack_hash__; 
+0

これは、私のバンドルの '__webpack_hash__'は単なるグローバル変数ですか?またはそれにアクセスする他の方法がありますか? – Soviut

+0

はい、そうです。私はそれを使う別の方法を知らない。 – Digger2000

+0

htmlファイル "$ {__ webpack_hash__}"で補間を使うと、ハッシュが正しいものではないことに注意する価値があります。だから私は実行時にhtmlにハッシュを設定することに落ちています。 – FloG

関連する問題