当前位置: 首页 > 后端技术 > Node.js

win下package.json和webpack的配置是一个容易被忽视的坑

时间:2023-04-03 18:44:59 Node.js

原因是今天用webpack打包的时候,发现不设置NODE_ENV的压缩其实比设置NODE_ENV的要小。命令行分为两个输入集NODE_ENV=production(Enter)webpack....是正常的。反复实验多次,打印NODE_ENV也正常。(如图)AddsetNODE_ENVwithoutaddingsetNODE_ENV配置项debug多次打印,一看没有问题。如果你仔细看下面,你会发现第一个输出中多了一个空格。原因是多了一个致命的空间,导致我下午有时候压缩成功,有时候压缩失败,很神奇。回过头来看我们的package.json代码,对比一下写错了纠正一个小错误,附上我的webpack.production.config.jsconstwebpack=require("webpack");constHtmlWebpackPlugin=require('html-webpack-plugin');constExtractTextPlugin=require("extract-text-webpack-plugin");module.exports={entry:__dirname+"/app/main.js",输出:{filename:'bundle-[hash:8].js',path:__dirname+"/build"},module:{rules:[{test:/(\.jsx|\.js)$/,use:{loader:'babel-loader'},exclude:/node_modules/},{test:/\.css$/,使用:ExtractTextPlugin.extract({fallback:"style-loader",使用:[{loader:'css-loader',选项:{模块:true}},{loader:'postcss-loader'}]})},{test:/(\.jpg|\.png)$/i,use:{loader:'url-loader',options:{limit:5000,name:'img/[name].[hash:8].[ext]'}}}]},plugins:[newwebpack.BannerPlugin("翻版必研究"),newHtmlWebpackPlugin({template:__dirname+"/app/index.tmpl.html"}),newwebpack.HotModuleReplacementPlugin(),newExtractTextPlugin("styles-[hash:8].css"),newwebpack.optimize.OccurrenceOrderPlugin(),newwebpack.optimize.UglifyJsPlugin({输出:{注释:false},压缩:{警告:false}}),newwebpack.DefinePlugin({'process.env':{'NODE_ENV':JSON.stringify(process.env.NODE_ENV)}}),newwebpack.DefinePlugin({__DEV__:JSON.stringify(JSON.parse((process.env.NODE_ENV=='dev')||'false'))}),newwebpack.optimize.CommonsChunkPlugin({name:'vendor',filename:'./js/[name].[hash:8].js'}),]}