Vue  webpack 项目自动打包压缩成zip文件的方法


Posted in Javascript onJuly 24, 2019

这段时间用 Vue2.0 开发项目,每次打包都会用到 npm run build 命令,但是每次部署时给后端发包都要手动zip压缩,这样一两次还行,但遇到项目板块测试和临时加急功能测试的时候,一天可能就要打包好多次,这就很烦了。所以索性在执行 npm run build 命令时就直接打包成zip文件,方便省事!

1、插件装备

webpack插件:filemanager-webpack-plugin,该插件可执行打包,复制,移动,删除文件以及新文件夹在build之前及之后创建。

安装:

npm install filemanager-webpack-plugin --save-dev
或
cnpm install filemanager-webpack-plugin --save-dev

2、webpack配置

① 在项目 根目录 build/webpack.base.config.js 中 抬头变量声明区域添加

const FileManagerPlugin = require('filemanager-webpack-plugin')

② 在根目录 build/webpack.base.config.js 内找到 module.exports。 然后在plugins内添加

new FileManagerPlugin({
 onEnd: {
  delete: [
   './dist/control-operate.zip',
  ],
  archive: [
   {source: './dist', destination: './dist/control-operate.zip'},
  ]
 }
})

注:若 plugins不存在,则新建plugins,plugins为数组格式。

Vue  webpack 项目自动打包压缩成zip文件的方法

3、执行效果

配置完成后,重新执行 npm run build 命令。执行完成后,在dist文件夹内(上面配置的目的地目录为 dist文件夹),就可以看到压缩好的zip文件包了。

Vue  webpack 项目自动打包压缩成zip文件的方法

4、其他功能

module.exports = {
 ......
 plugins: [
  new FileManagerPlugin({
   onEnd: {
    copy: [
     {source: '/path/from', destination: '/path/to'},
     {source: '/path/**/*.js', destination: '/path'},
     {source: '/path/fromfile.txt', destination: '/path/tofile.txt'},
     {source: '/path/**/*.{html,js}', destination: '/path/to'},
     {source: '/path/{file1,file2}.js', destination: '/path/to'},
     {source: '/path/file-[hash].js', destination: '/path/to'}
    ],
    move: [
     {source: '/path/from', destination: '/path/to'},
     {source: '/path/fromfile.txt', destination: '/path/tofile.txt'}
    ],
    delete: [
     '/path/to/file.txt',
     '/path/to/directory/'
    ],
    mkdir: [
     '/path/to/directory/',
     '/another/directory/'
    ],
    archive: [
     {source: '/path/from', destination: '/path/to.zip'},
     {source: '/path/**/*.js', destination: '/path/to.zip'},
     {source: '/path/fromfile.txt', destination: '/path/to.zip'},
     {source: '/path/fromfile.txt', destination: '/path/to.zip', format: 'tar'},
     {
      source: '/path/fromfile.txt',
      destination: '/path/to.tar.gz',
      format: 'tar',
      options: {
       gzip: true,
       gzipOptions: {
        level: 1
       }
      }
     }

    ]
   }
  })
 ],
 ......
}

总结

以上所述是小编给大家介绍的Vue  webpack 项目自动打包压缩成zip文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Mootools 1.2教程 Fx.Tween的使用
Sep 15 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
Javascript获取当前日期的农历日期代码
Oct 08 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
JSON对象 详解及实例代码
Oct 18 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
May 13 Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
JavaScript面向对象中接口实现方法详解
Jul 24 #Javascript
IE11下处理Promise及Vue的单项数据流问题
Jul 24 #Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 #Javascript
详解Vue中的基本语法和常用指令
Jul 23 #Javascript
js如何获取访问IP、地区、当前操作浏览器
Jul 23 #Javascript
node.js express框架简介与实现
Jul 23 #Javascript
js微信分享接口调用详解
Jul 23 #Javascript
You might like
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
Angular排序实例详解
2017/06/28 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
angular4自定义组件详解
2017/09/28 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
《七颗钻石》教学反思
2014/02/28 职场文书
大学学风建设方案
2014/05/04 职场文书
预防煤气中毒方案
2014/06/16 职场文书
医学专业大学生求职信
2014/07/12 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
毕业生个人自荐书
2015/03/05 职场文书
三八妇女节主持词
2015/07/04 职场文书
企业文化学习心得体会
2016/01/21 职场文书
无线电通信名词解释
2022/02/18 无线电