Vue -- webpack 项目自动打包压缩成zip文件

时间: 2018-12-26阅读: 606标签: webpack

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



3、执行效果

配置完成后,重新执行 npm run build 命令。执行完成后,在dist文件夹内(上面配置的目的地目录为 dist文件夹),就可以看到压缩好的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
                            }
                        }
                    }

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


来自:https://www.cnblogs.com/donghuang/archive/2018/12/25/10170162.html


提升webpack构建速度

减少resolve解析;把 loader 应用的文件范围缩小,只在最少数必须的代码模块中去使用必要的 loader;减少 plugin 的消耗,webpack 的 plugin 会在构建的过程中加入其它的工作步骤

什么是webpack?Webpack的核心概念

Webpack已经流行好久了,但很多同学使用webpack时还是一头雾水,一下看到那么多文档、各种配置、各种loader、plugin立马就晕头转向了。我也不例外,以至于很长一段时间对webpack都是一知半解的状态

webpack output

output输出口必须是个对象,因为它必须有两个属性:filename输出出去的文件的名字,一般都是bundle.js,path文件要输出出去到哪里,一般都是dist文件,那如果我们是多页面引用,那上面这个输出就不行了

Webpack 是怎样运行的?

在平时开发中我们经常会用到Webpack这个时下最流行的前端打包工具。它打包开发代码,输出能在各种浏览器运行的代码,提升了开发至发布过程的效率。主要包含入口(entry)、输出文件(output)、模式、加载器(Loader)、插件(Plugin)等几个部分

webpack Code Splitting浅析

Code Splitting是webpack的一个重要特性,他允许你将代码打包生成多个bundle。对多页应用来说,它是必须的,因为必须要配置多个入口生成多个bundle;对于单页应用来说,如果只打包成一个bundle可能体积很大,导致无法利用浏览器并行下载的能力

手把手教你写一个 Webpack Loader

webpack 只能理解 JavaScript 和 JSON 文件。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效模块,以供应用程序使用,以及被添加到依赖图中。

Webpack有哪些常见的Plugin?他们是解决什么问题的

webpack 插件是一个具有 apply 属性的 JavaScript 对象。apply 属性会被 webpack compiler 调用,并且 compiler 对象可在整个编译生命周期访问

vue+webpack4多页面打包配置

多页面配置通常有两种形式,一种是多页面多配置,一种是多页面单配置。因为webpack(3.1以上)可以直接处理一个配置对象的数组,所以可以为每个页面单独写一份配置。

Webpack如何实现一个Loader?

loader定义: 用于对模块的源代码进行转换。loader 可以使你在 import 或\\\"加载\\\"模块时预处理文件,loader是一个node模块,编写loader时要遵循单一原则,每个loader只做一种\\\"转义\\\"工作

用不同语言语法编写webpack配置文件

webpack配置文件默认情况下为webpack.config.js,即用原生js语法书写的配置文件。然而,在我们的项目中,有时候是使用的是其他语言语法进行编程,例如:es6、coffeeScript、typeScript等语言语法。

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全