webpack的環境變量


在開發過程中我們可能需要打大量的log,便於在開發過程中進行調試。但是當在生產環境中在瀏覽器中打出這么多日志會造成信息泄漏。
如果在打生產包的時候逐行將log刪除,開發時再添加顯然是十分麻煩的。為此,我們可以利用Enviroment Flags,在使用webpack打包命令的時候傳入對應的參數,告訴程序是否顯示log。
無論是使用webpack命令或是webpack-dev-server進行打包,環境變量的傳入方法都是一樣的。
舉個例子:

env DEBUG=true webpack-dev-server


我們可以使用這條命令啟動webpack服務器,並傳入參數DEBUG參數,參數值為true.
在webpack.config.js文件中,我們可以通過process.env.DEBUG對參數進行接收。
給個完整的例子:
在webpack.config.js中定義一個自定義的插件,在插件中接收DEBUG參數。

var webpack = require('webpack');

var devFlagPlugin = new webpack.DefinePlugin({
  __DEV__: JSON.stringify(JSON.parse(process.env.DEBUG || 'false'))
});

module.exports = {
  entry: './main.js',
  output: {
    filename: 'bundle.js'
  },
  plugins: [devFlagPlugin]
};


在js文件中判斷 __DEV__ 的值,並做相應處理:

if (__DEV__) {
  console.log("hello world");
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM