zoukankan      html  css  js  c++  java
  • 将打包后的dist文件夹压缩成zip包

    背景:

    目前所在公司的项目,正式环境是由后台部署,前端需要将打包后的dist文件给到后端,为了便于传输,每次都是先npm run build打包,再手动压缩成zip包,给到后端,很麻烦。

    所以想通过插件自动将打包后的dist文件压缩成压缩包,彻底解决我们的双手~~

    工具:

      经过调研 zip-webpack-plugin 、webpack-zip-plugin、filemanager-webpack-plugin 这三个插件,最终采用 filemanager-webpack-plugin

    安装:

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

        github地址:https://github.com/gregnb/filemanager-webpack-plugin

        安装过程报错如下:

        看到报错信息,我们开始从下列提示着手

        filemanager-webpack-plugin@3.0.0 requires a peer of webpack@^4 || ^5 but none is installed. You must install peer dependencies yourself.

        信息显示:filemanager-webpack-plugin@3.0.0需要webpack@^4 | | ^5的对等方,但未安装

        猜想应该是filemanager-webpack-plugin@3.0.0需要的webpack版本与系统不匹配,

        经过一番查找也没有找到filemanager-webpack-plugin@3.0.0需要的对等webpack版本是,

        综合考虑,决定降低filemanager-webpack-plugin版本 注意:如果不报错,不需要采取降级处理

    在package.json的 devDependencies 加入 "filemanager-webpack-plugin": "2.0.5",并重新 cnpm install ,安装成功

    配置:

    在vue.config.js添加如下代码

    const FileManagerPlugin = require('filemanager-webpack-plugin')
    
    module.exports = {
      ...
     configureWebpack: (config) => {
      // 为生产模式添加压缩插件
    if (process.env.NODE_ENV === 'production') {
          
       // 将打包后的dist文件自动压缩成zip包
       config.plugins.push(
          new FileManagerPlugin({
             onEnd: {
                // delete: [ './dist.zip'],
               archive: [{ source: './dist', destination: './dist.zip' }]
              }
      }))}}}

    运行:

    直接 npm run build 即可看到项目根目录生成一个 dist.zip 压缩包

  • 相关阅读:
    49 我素故我在
    91 棋盘游戏
    55 删除数组重复元素
    54 删除数组元素
    C++虚函数, 纯虚函数
    iOS-OC-多态
    C++函数引用形参和非引用形参
    怎么清理Mac 硬盘里的其他
    Vue.js中this.$nextTick()的使用
    data中有嵌套,取值要链式取
  • 原文地址:https://www.cnblogs.com/caofeng11/p/14242668.html
Copyright © 2011-2022 走看看