700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > webpack之css/js/html文件的压缩

webpack之css/js/html文件的压缩

时间:2019-03-30 11:27:57

相关推荐

webpack之css/js/html文件的压缩

文件压缩分三种类型js,css,html。

1、JS文件的压缩:

uglifyjs-webpack-plugin

webpack4以上已经内置了js的压缩插件uglifyjs-webpack-plugin,如要修改插件的配置还是要下载之后再修改,默认打包之后已压缩js代码。

terser-webpack-plugin

webpack5及以上已经内置了js的压缩插件terser-webpack-plugin,如要修改插件的配置还是要下载之后再修改,默认打包之后已压缩js代码。

TerserWebpackPlugin | webpack 中文文档

2、CSS文件的压缩

使用optimize-css-assets-webpack-plugin,同时使用cssnano

npm i optimize-css-assets-webpack-plugin -Dnpm i cssnano -D

//webpack.config.jsconst OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');module.exports = {plugins:[new OptimizeCssAssetsPlugin({assetNameRegExp: /\.css$/g,cssProcessor: require('cssnano')})]}

CssMinimizerWebpackPlugin

这个插件使用cssnano优化和压缩 CSS。就像optimize-css-assets-webpack-plugin一样,但在 source maps 和 assets 中使用查询字符串会更加准确,支持缓存和并发模式下运行。

CssMinimizerWebpackPlugin | webpack 中文文档

3、HTML压缩

使用html-webpcak-plugin

npm install --save-dev html-webpack-plugin //安装

const HtmlWebpackPlugin = require('html-webpack-plugin');const path = require('path');module.exports = {entry: 'index.js',output: {path: path.resolve(__dirname, './dist'),filename: 'index_bundle.js',},plugins: [// 如果有两个html需要加两个,此处后期会进行优化处理。new HtmlWebpackPlugin({template: path.join(__dirname, 'src/index.html'),filename:'index.html',chunks: ['index'],inject: true,minify:{html5: true,collapseWhitespace: true,preserveLineBreaks: false,minifyCSS: true,minifyJS: true,removeComments: false}}),new HtmlWebpackPlugin({template: path.join(__dirname, 'src/search.html'),filename:'search.html',chunks: ['search'],inject: true,minify:{html5: true,collapseWhitespace: true,preserveLineBreaks: false,minifyCSS: true,minifyJS: true,removeComments: false}})],};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。