JS打包压缩插件

  • 在项目发布之前,我们必然需要对js等文件进行压缩处理

    • 这里我们就对打包的JS进行压缩
    • 我们使用 一个第三方插件uglifyjs-webpack-plugin,并且版本号指定1.1.1.,和cli2保持一致
npm install uglifyjs-webpack-plugin@1.1.1 --save-dev

执行命名安装插件

D:\zhangyugen@jd.com\vue\day1\html\4.从0开始学VUE\simpleplugin>npm install uglifyjs-webpack-plugin@1.1.1 --save-dev
npm WARN deprecated uglify-es@3.3.9: support for ECMAScript is superseded by `uglify-js` as of v3.13.0> uglifyjs-webpack-plugin@0.4.6 postinstall D:\zhangyugen@jd.com\vue\day1\html\4.从0开始学VUE\simpleplugin\node_modules\webpack\node_modules\uglifyjs-webpack-plugin
> node lib/post_install.jsnpm WARN css-loader@3.6.0 requires a peer of webpack@^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN style-loader@2.0.0 requires a peer of webpack@^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN simpleconfig@1.0.0 No description
npm WARN simpleconfig@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules\watchpack-chokidar2\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})+ uglifyjs-webpack-plugin@1.1.1
added 42 packages from 59 contributors, updated 1 package, moved 2 packages and audited 624 packages in 17.999s39 packages are looking for fundingrun `npm fund` for detailsfound 11 vulnerabilities (2 low, 9 moderate)run `npm audit fix` to fix them, or `npm audit` for detailsD:\zhangyugen@jd.com\vue\day1\html\4.从0开始学VUE\simpleplugin>

安装成功,修改webpack.config.js

// 需要从node依赖中引入 需要添加依赖环境
const path = require('path');
// 导入webpack内置插件
const webpack = require('webpack')
// 导入HtmlWebpackPlugin插件
const HtmlWebpackPlugin = require('html-webpack-plugin')
// 导入JS压缩插件
const uglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin')module.exports = {// 配置源码打包位置entry: './src/main.js',// 配置目标位置output: {// path 只能写绝对路径 不能写相对路径 但是不要直接写死,需要动态获取文件位置path: path.resolve(__dirname,'dist'),filename: 'bundle.js'},module: {rules: [{test: /\.css$/,use: [ 'style-loader', 'css-loader' ]},{test: /\.js$/,exclude: /(node_modules|bower_components)/,use: {loader: 'babel-loader',options: {presets: ['es2015']}}},// 增加.vue文件的loader{test: /\.vue$/,use:['vue-loader']}]},// 使用runtime-compilerresolve:{alias:{'vue$': 'vue/dist/vue.esm.js'}},// 插件plugins:[// 版权插件new webpack.BannerPlugin('最终版权归彼岸舞所有!'),// index.html打包插件new HtmlWebpackPlugin({// 指定模板生成 不然没有id="app"的div 同时删除调用index.html中的 <script>应为会自动添加,所以不需要写template: 'index.html'}),// JS压缩插件new uglifyjsWebpackPlugin()]
}

执行打包

可以看到JS已经被压缩了,但是存在一个问题,那就是版权声明没有了,还有注释都没有了,应为这就是压缩的一部分,这个和版权插件是冲突的

作者:彼岸舞

时间:2021\06\07

内容关于:VUE

本文属于作者原创,未经允许,禁止转发

从零开始学VUE之Webpack(JS打包压缩插件的使用)相关推荐

  1. 从零开始学VUE之Webpack(Html打包插件的使用)

    打包html文件的插件 目前我们的index.html一致是在项目的根目录下的 我们知道,在真实发布项目的时候,发布的是dist文件夹中的内容,但是dist文件夹中如果没有index,html,那么打 ...

  2. 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件

    标题 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件 图片上传功能作为一个比较常见的功能,有时候需要在微信内置浏览器里打开,但是有些型号的手机会出现打不开的现象,点击 ...

  3. webpack 合并压缩_极客起源 - geekori.com - 问题详情 - webpack如何打包压缩jquery 插件?...

    感谢大家的回答,自己解决了.这里将解决方案贴出来: 1.首先 webpack.config.js做如下配置 module.exports 部分 entry:  __dirname + "/m ...

  4. vue -- vue-cli webpack项目打包后自动压缩成zip文件

    用vue2.0开发项目,使用npm run build 命令 ,但是只会生成dist文件夹,以下是生成zip压缩包方法 1,插件安装 webpack插件安装 filemanager-webpack-p ...

  5. vue中webpack编译打包使用之Vue知识点归纳(十一)

    本文中将描述 webpack 简述 webpack 项目的初始化配置 webpack 打包运行一个 vue 项目 1 什么是webpack,到底需要解决什么问题 近几年前端的快速发展,前端已不是简单的 ...

  6. 一起从零开始学VUE(1) VUE基本使用步骤和指令

    VUE 特性 1.数据驱动视图:数据的变化会驱动视图自动更新,单向的数据绑定 2.双向数据绑定:在网页中form表单负责采集数据,Ajax负责提交数据 MVVM是VUE实现数据驱动视图和双向数据绑定的 ...

  7. 从零开始学VUE之IDEA安装VUE插件

    IDEA安装VUE插件 本身IDEA是不支持VUE的,需要安装插件,在file->settings->plugins中搜索VUE安装即可 作者:彼岸舞 时间:2021\05\31 内容关于 ...

  8. 浅析vue中wavesurfer.js的Minimap插件的使用

    前言:vue中嵌入使用wavesurfer.js的教程详见:https://blog.csdn.net/zrcj0706/article/details/104635357 1.Minimap插件的使 ...

  9. Webpack 中 CSS 压缩插件

    Optimize CSS Assets Webpack Plugin 一个优化\减少CSS资源的Webpack插件. 该插件有什么作用? 它将在Webpack构建期间搜索CSS资源,并将优化\最小化C ...

最新文章

  1. python办公模块_Python 办公自动化教程
  2. 高软作业三:原型化设计——随心记
  3. Code Push 热更新使用详细说明和教程
  4. Mysql字段类型选择
  5. java filestream 包,java.io.FileOutputStream.write(byte[] b)
  6. ue4缓存位置怎么改_怎么从蓝图节点跳转到C++源码?
  7. [react] 在React中如果去除生产环境上的sourcemap?
  8. 德国力挺华为:建5G网络不排除任何设备厂商
  9. flask-01-http通信的回顾
  10. window下配置定时任务实现类似linux的cron定时任务
  11. QEMU/KVM PCI Passthrough(i350) DPDK 网络性能测试
  12. 数据库服务器日常维护完全情况表格,数据库日常维护.doc
  13. 使用iTunes 12.7 可以直接安装ipa安装包
  14. leetcode 左程云笔记
  15. 搜索引擎优化是什么,搜索引擎优化应该怎么学?
  16. 2008年公休假安排:
  17. 小傻蛋的妹妹跟随小甲鱼学习Python的第九节009
  18. 记录一下融云即时通讯IM
  19. MySQL表结构导出Excel
  20. C语言回溯法九宫格数独问题

热门文章

  1. 达人评测酷睿i7 12700k和i7 12700的区别 i712700k和i712700差多少
  2. 跟着学设计模式 (1)— 工厂方法模式
  3. tensorflow分布式框架
  4. keil5在点击debug时,全速运行按钮不能按的情况
  5. 目前已经知道的乐视所有产品各个型号的强刷方法!更新X50
  6. 复盘:GBDT,梯度提升决策树,Gradient Boosting Decision Tree,堪称最好的算法之一
  7. Python—序列化模块
  8. [Mugeda HTML5技术教程之10]发布内容
  9. 在Microsoft Excel中如何快速将上下两行数据合并为一行?
  10. Qt之学习(二):QtDesigner的控件知识