webpack打包压缩js与css教程说明

这次给大家带来webpack打包压缩js与css教程说明,webpack打包压缩js与css的注意事项有哪些,下面就是实战案例,一起来看一下。

打包压缩js与css

由于webpack本身集成了UglifyJS插件(webpack.optimize.UglifyJsPlugin)来完成对JS与CSS的压缩混淆,无需引用额外的插件,

其命令 webpack -p 即表示调用UglifyJS来压缩代码,还有不少webpack插件如 html-webpack-plugin 也会默认使用UglifyJS。

uglify-js的发行版本只支持ES5,如果你要压缩ES6+代码请使用开发分支。

UglifyJS可用的选项有:

parse       解释

compress    压缩

mangle      混淆

beautify    美化

minify      最小化//在插件HtmlWebpackPlugin中使用

CLI         命令行工具

sourcemap   编译后代码对源码的映射,用于网页调试

AST         抽象语法树

name        名字,包括注意事项、函数名、属性名

toplevel    顶层作用域

unreachable 不可达代码

option      选项

STDIN       标准输入,指在命令行中直接输入

STDOUT      标准输出

STDERR      标准错误输出

side effects函数副作用,即函数除了返回外还产生别的作用,比如改了全局变量

列一份配置:

//使用插件html-webpack-plugin打包合并html//使用插件extract-text-webpack-plugin打包独立的css//使用UglifyJsPlugin压缩代码var HtmlWebpackPlugin = require('html-webpack-plugin');var ExtractTextPlugin = require('extract-text-webpack-plugin');var webpack = require("webpack");module.exports = {  entry: {    bundle : './src/js/main.js'  },  output: {    filename: "[name]-[hash].js",    path: dirname + '/dist'  },  module: {    rules: [      {        test: /.css$/,        use: ExtractTextPlugin.extract({          fallback: "style-loader",          use: "css-loader"        })      },      {        test: /.(png|jpg|jpeg|gif)$/,        use: 'url-loader?limit=8192'      }    ]  },  resolve:{      extensions:['.js','.css','.json'] //用于配置程序可以自行补全哪些文件后缀  },  plugins:[    new HtmlWebpackPlugin({      title: 'hello webpack',      template:'src/component/index.html',      inject:'body',      minify:{ //压缩HTML文件         removeComments:true,  //移除HTML中的注释         collapseWhitespace:true  //删除空白符与换行符       }    }),    new ExtractTextPlugin("[name].[hash].css"),    new webpack.optimize.UglifyJsPlugin({      compress: {   //压缩代码        dead_code: true,  //移除没被引用的代码        warnings: false,   //当删除没有用处的代码时,显示警告        loops: true //当do、while 、 for循环的判断条件可以确定是,对其进行优化      },      except: ['$super', '$', 'exports', 'require']  //混淆,并排除关键字    })  ]};

登录后复制

这里需要注意的是压缩的时候需要排除一些关键字,不能混淆,比如$或者require,如果混淆的话就会影响到代码的正常运行。

列几个压缩时常有的属性:

dead_code — 移除没被引用的代码

loops — 当 do 、 while 、 for 循环的判断条件可以确定是,对其进行优化。

warnings — 当删除没有用处的代码时,显示警告

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

注意事项

注意事项

以上就是webpack打包压缩js与css教程说明的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2763064.html

(0)
上一篇 2025年3月8日 10:05:55
下一篇 2025年3月8日 10:06:05

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Vue.js使用开源框架mpvue

    这次给大家带来Vue.js使用开源框架mpvue,Vue.js使用开源框架mpvue的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 mpvue是一款使用Vue.js开发微信小程序的前端框架。使用此框架,开发者将得到完整的 Vue.…

    2025年3月8日 编程技术
    200
  • vue-cli无法初始化webpack模板处理方法

    这次给大家带来vue-cli无法初始化webpack模板处理方法,解决vue-cli无法初始化webpack模板的注意事项有哪些,下面就是实战案例,一起来看一下。 vue init webpack pro [Failed to downlo…

    编程技术 2025年3月8日
    200
  • p5.js如何进行图片加载

    这次给大家带来p5.js如何进行图片加载,p5.js进行图片加载的注意事项有哪些,下面就是实战案例,一起来看一下。 一、preload()函数与图片上传 preload()函数是一个特殊的函数,它同setup()类似,只在程序开始时运行一次…

    2025年3月8日 编程技术
    200
  • webpack.config.js参数使用案例

    这次给大家带来webpack.config.js参数使用案例,webpack.config.js参数使用的注意事项有哪些,下面就是实战案例,一起来看一下。 webpack.config.js文件通常放在项目的根目录中,它本身也是一个标准的C…

    编程技术 2025年3月8日
    200
  • nodejs+express实现文件上传案例详解

    这次给大家带来nodejs+express实现文件上传案例详解,nodejs+express实现文件上传的注意事项有哪些,下面就是实战案例,一起来看一下。 前段时间在做个人项目的时候,用到了nodejs服务端上传文件,现在回头把这个小结一下…

    编程技术 2025年3月8日
    200
  • JS生成时间列表并输出

    这次给大家带来JS生成时间列表并输出,JS生成时间列表并输出的注意事项有哪些,下面就是实战案例,一起来看一下。 遇到一个场景,需要拿到指定时间范围内的每一天,满足格式”YYYYMMDD”,简单的功能,简单的思路 准备…

    2025年3月8日
    200
  • angularjs自定义缓存使用案例详解

    这次给大家带来angularjs自定义缓存使用案例详解,angularjs自定义缓存使用的注意事项有哪些,下面就是实战案例,一起来看一下。 一、什么是缓存 一个缓存就是一个组件,它可以透明地存储数据,以便未来可以更快地服务于请求。 缓存能够…

    编程技术 2025年3月8日
    200
  • 原生JS封装淡入淡出效果函数步骤详解

    这次给大家带来原生JS封装淡入淡出效果函数步骤详解,原生JS封装淡入淡出效果函数的注意事项有哪些,下面就是实战案例,一起来看一下。 说到js的渐变显示与消失,多数朋友会想到JQuery里面的fadeIn()、fadeOut()或fadeTo…

    2025年3月8日
    200
  • p5.js键盘交互函数总结

    这次给大家带来p5.js键盘交互函数总结,使用p5.js键盘交互函数的注意事项有哪些,下面就是实战案例,一起来看一下。 一、键盘交互相关关键词与函数 keyIsPressed: 关键词,按下按键时为true,反之为false keyCode…

    编程技术 2025年3月8日
    200
  • JS原型与原型链使用详解

    这次给大家带来JS原型与原型链使用详解,JS原型与原型链使用的注意事项有哪些,下面就是实战案例,一起来看一下。 我们创建的每个函数都有一个 prototype (原型)属性,这个属性是一个指针,指向一个原型对象,而这个原型对象中拥有的属性和…

    2025年3月8日
    200

发表回复

登录后才能评论