删除无用的样式
删除无意义、无用的样式
npm install purgecss-webpack-plugin glob —save-dev
const glob = require('glob') //主要功能就是查找匹配的文件//glob.sync("./src/**/*",{nodir:true}) //意思是src下的所有文件,但是不找目录 返回的是目录//主要作用是删除无意义的css,只能配合mini-css-extract-pluginconst PurgeCssWebpackPlugin = require('purgecss-webpack-plugin')plugins:[new PurgeCssWebpackPlugin({paths:glob.sync("./src/**/*",{nodir:true})})]
图片压缩插件
npm install image-webpack-loader —save-dev
在file-loader之前使用压缩插件
另:可以设置一下生产才会去压缩
{ // 降低分辨率 清晰度test:/\.(jpe?g|png|gif)$/,use:{loader: 'file-loader',},{ //可以在使用file-loader之前 对图片进行压缩loader:'image-webpack-loader',options: {mozjpeg: {progressive: true,},// optipng.enabled: false will disable optipngoptipng: {enabled: false,},pngquant: {quality: [0.65, 0.90],speed: 4},gifsicle: {interlaced: false,},// the webp option will enable WEBPwebp: {quality: 75}}}}
CDN加载文件
打包都会打包到bundles里,文件很多,那样体积就会很大
- 我们希望可以使用动态加载,cdn加载
以 jq为例,npm install juqery —save,引用这个文件 import $ from ‘jquery’ 这样打包就会找所有的依赖 文件就会很大
这个时候可以使用cdn引入
配置一下:
externals:{"jquery":"$" //不去打包代码中的jq},
通过这种方式引入的依赖库,不需要webpack处理,编译进文件中,在我们需要,使用它的时候可以通过CMD、AMD、或者window全局方式访问。
使用:
const $ = require("jquery")$("#content").html("<h1>hello world</h1>")
但是,
不可能都用cdn的方式引入,如果太多的话可以使用 插件 add-asset-html-cdn-webpack-plugin 具体的配置使用这里就不再说了…
