2016-08-22 47 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__編譯的散列可用作自由變量。

這不能在DefinePlugin()使用,但它會創建一個全局變量__webpack_hash__可以從你的包內的任何地方進行訪問。

var hash = __webpack_hash__; 
+0

這是否意味着'__webpack_hash__'在我的包中只是一個全局變量?還是有一些其他的方式來訪問它? – Soviut

+0

是的。我不知道使用它的另一種方法。 – Digger2000

+0

值得注意的是,如果您在html文件「$ {__ webpack_hash__}」中使用插值,那麼哈希將不會是正確的。所以我在運行時重新設置html中的哈希值。 – FloG

相關問題