2016-12-03 72 views
1

我對webpack(和進程管理器)很新穎。有人可能請幫助我解釋這兩個插件,因爲我沒有在任何地方找到任何文檔。他們在做什麼?他們的目的是什麼?Webpack插件definePlugin和CommonsPlugin

var definePlugin = new webpack.DefinePlugin({ 
    __DEV__: JSON.stringify(JSON.parse(process.env.BUILD_DEV || 'true')), 
    __PRERELEASE__: JSON.stringify(JSON.parse(process.env.BUILD_PRERELEASE || 'false')) 
}); 

var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js'); 

回答

2

Webpack中的DefinePlugin用於在webpack編譯時注入全局變量。我猜測你的項目中使用__DEV__屬性來獲得建築環境(生產,測試,開發...)。 __PRERELEASE__屬性也一樣。這些是Webpack在編譯過程中可能使用的自定義變量。

至於CommonsPlugin,它用於將您的代碼分成單獨的文件(例如,app.js =您的自定義代碼,vendor.js =外部庫)。這在調試時在開發中非常有用,因爲在您自己的代碼中查找錯誤時,不需要在.map文件中包含所有庫。