webpack

步骤

1.	新建一个webpack.config.prod.js

2.	压缩bundle.js和index.html

	//设置为生产环境
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}), //压缩js
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false //压缩警告
},
comments: false //去掉版权信息等注释
}) //压缩index.html
new HtmlWebpackPlugin({
template: './template.html',
filename: 'index.html',
minify:{
collapseWhitespace:true,//压缩空格
removeComments:true,//去除注释
minifyJS:true,//压缩js
minifyCSS:true//压缩css
}
}) 3. 干掉热重载 4. 设置output
output: {
path:path.resolve(__dirname,"dist"),
filename:'bundle.js'
} 5. 设置package.json
"build": "webpack --progress --config webpack.config.prod.js" 6. 抽离图片
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 4000,//大于4kb就抽离出去
name:"images/[name]-[hash:5].[ext]"
}
}
]
} 7. 打包之前干掉dist目录
//打包之前,删除dist目录
var CleanWebpackPlugin = require('clean-webpack-plugin') //打包之前,删除dist目录,写在其它插件前面 plugins里面
new CleanWebpackPlugin('dist'), 8. 第三方包抽离 entry
entry: {
quanjiatong:['react','react-dom','react-router-dom'],
fetchJsonp:['fetch-jsonp'],
bundle:'./src/main.js'
} output
output: {
path:path.resolve(__dirname,"dist"),
filename:'js/[name].js' //抽离第三方包2
} plugins
// 抽离第三方包3
new webpack.optimize.CommonsChunkPlugin({
name: ['quanjiatong','fetchJsonp'],
// filename: "vendor.js"
// (给 chunk 一个不同的名字) minChunks: Infinity,
// (随着 entry chunk 越来越多,
// 这个配置保证没其它的模块会打包进 vendor chunk)
}) 9. 抽离bundle中的样式文件 //抽离第三方样式的包
const ExtractTextPlugin = require("extract-text-webpack-plugin"); {
test: /\.css$/,
// use: ['style-loader', 'css-loader']
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: [
{
loader: 'css-loader',
options: {
minimize: true //压缩css
}
}
]
})
} new ExtractTextPlugin("css/styles.css")

最新文章

  1. [转]MongoDB学习 C#驱动操作MongoDB
  2. setuptools,pip,install,UnicodeDecodeError: 'ascii' codec can't decode byte.原因和解决方案
  3. Centos 6.4 8250/16550 只生成了4个串口
  4. 【VNC】Ubuntu14.04LTS下安装VNC View
  5. linux的一点小随笔
  6. oracle 常用语句
  7. 杭电 1795 The least one
  8. QT程序库
  9. COJ 0343 WZJ的公司(二)
  10. Yougth的最大化(好题,二分查找 0 1分数规划)
  11. MonkeyRunner源代码分析Android通信设备
  12. Mac 必备软件 Quicksilver
  13. Spark:控制日志输出级别
  14. 各种输出速度比较(小白应该来看看,dalao绕道)
  15. bzoj4665 小w的喜糖(dp+容斥)
  16. C_求最大连续子序列和
  17. pip安装第三方库镜像源选择
  18. (转)EOS中账户、钱包和密钥的关系
  19. Zabbix-2.4-安装-3
  20. [UE4]在蓝图中设置图片

热门文章

  1. ionic Plugin插件,与原生app端交互,ionic端代码
  2. javaee IO流复制的方法
  3. python 直接存入Excel表格
  4. [kuangbin带你飞]专题1-23题目清单总结
  5. 2018 noip 考前临死挣扎
  6. Docker在WIN7上的配置
  7. android下xml放哪儿?
  8. mysql 7 种 join
  9. (12)Spring Boot改变JDK编译版本【从零开始学Spring Boot】
  10. Official Documents