今天用webpack 打包的時候發現 不加 set NODE_ENV 壓縮 竟然比加上 set NODE_ENV 還要小,命令行 分兩次輸入 set NODE_ENV=production (回車) webpack .... 的時候是正常的。反覆實驗屢次,打印NODE_ENV 也正常。(如圖)css
加上 set NODE_ENV html
不加 set NODE_ENV node
配置項webpack
屢次打印web
大眼一看沒什麼問題,仔細看如下就會發現第一次的輸出多了一個空格json
就是多了一個致命空格,致使我一下午時而壓縮成功,時而壓縮失敗,很是靈異。
拐回頭看咱們的package.json 代碼,咱們來對比一下對錯寫法babel
wrongapp
correctpost
一個小失誤 ,順便附上個人 webpack.production.config.jsui
const webpack = require("webpack"); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextPlugin = require("extract-text-webpack-plugin"); module.exports = { entry:__dirname + "/app/main.js", output: { filename:'bundle-[hash:8].js', path:__dirname+"/build" }, module:{ rules:[ { test:/(\.jsx|\.js)$/, use:{ loader:'babel-loader' }, exclude:/node_modules/ }, { test:/\.css$/, use: ExtractTextPlugin.extract({ fallback: "style-loader", use: [ { loader:'css-loader', options:{ module:true } }, { loader:'postcss-loader' } ] }) }, { test:/(\.jpg|\.png)$/i, use:{ loader:'url-loader', options:{ limit:5000, name:'img/[name].[hash:8].[ext]' } } } ] } , plugins:[ new webpack.BannerPlugin("翻版必究"), new HtmlWebpackPlugin({ template:__dirname+"/app/index.tmpl.html" }), new webpack.HotModuleReplacementPlugin(), new ExtractTextPlugin("styles-[hash:8].css"), new webpack.optimize.OccurrenceOrderPlugin(), new webpack.optimize.UglifyJsPlugin({ output:{ comments:false }, compress:{ warnings: false } }), new webpack.DefinePlugin({ 'process.env':{ 'NODE_ENV':JSON.stringify(process.env.NODE_ENV) } }), new webpack.DefinePlugin({ __DEV__: JSON.stringify(JSON.parse((process.env.NODE_ENV == 'dev') || 'false')) }), new webpack.optimize.CommonsChunkPlugin({ name: 'vendor', filename: './js/[name].[hash:8].js' }), ] }