经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » HTML5 » 查看文章
Vue -- webpack 项目自动打包压缩成zip文件
来源:cnblogs  作者:西岭千秋雪  时间:2018/12/26 9:47:43  对本文有异议

  这段时间用 Vue2.0 开发项目,每次打包都会用到 npm run build 命令,但是每次部署时给后端发包都要手动zip压缩,这样一两次还行,但遇到项目板块测试和临时加急功能测试的时候,一天可能就要打包好多次,这就很烦了。所以索性在执行 npm run build命令时就打包成zip文件。最终完成了这个集webpack打包、压缩成zip格式文件、打开当前文件夹这三个功能的批处理。

1、插件装备

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

  安装:

  1. npm install filemanager-webpack-plugin --save-dev
  2. cnpm install filemanager-webpack-plugin --save-dev

2、webpack配置

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

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

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

  1. new FileManagerPlugin({
  2. onEnd: {
  3. delete: [
  4. './dist/control-operate.zip',
  5. ],
  6. archive: [
  7. {source: './dist', destination: './dist/control-operate.zip'},
  8. ]
  9. }
  10. })

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

3、执行效果

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

4、其他功能

  1. module.exports = {
  2. ......
  3. plugins: [
  4. new FileManagerPlugin({
  5. onEnd: {
  6. copy: [
  7. {source: '/path/from', destination: '/path/to'},
  8. {source: '/path/**/*.js', destination: '/path'},
  9. {source: '/path/fromfile.txt', destination: '/path/tofile.txt'},
  10. {source: '/path/**/*.{html,js}', destination: '/path/to'},
  11. {source: '/path/{file1,file2}.js', destination: '/path/to'},
  12. {source: '/path/file-[hash].js', destination: '/path/to'}
  13. ],
  14. move: [
  15. {source: '/path/from', destination: '/path/to'},
  16. {source: '/path/fromfile.txt', destination: '/path/tofile.txt'}
  17. ],
  18. delete: [
  19. '/path/to/file.txt',
  20. '/path/to/directory/'
  21. ],
  22. mkdir: [
  23. '/path/to/directory/',
  24. '/another/directory/'
  25. ],
  26. archive: [
  27. {source: '/path/from', destination: '/path/to.zip'},
  28. {source: '/path/**/*.js', destination: '/path/to.zip'},
  29. {source: '/path/fromfile.txt', destination: '/path/to.zip'},
  30. {source: '/path/fromfile.txt', destination: '/path/to.zip', format: 'tar'},
  31. {
  32. source: '/path/fromfile.txt',
  33. destination: '/path/to.tar.gz',
  34. format: 'tar',
  35. options: {
  36. gzip: true,
  37. gzipOptions: {
  38. level: 1
  39. }
  40. }
  41. }
  42. ]
  43. }
  44. })
  45. ],
  46. ......
  47. }

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号