Vue項目打包(build)時,自動打以時間命名的壓縮包方式
在打包發(fā)布Vue前端項目時,每次都需要手動壓縮dist文件夾,然后以時間命名,然后部署到web容器中,過程比較繁瑣。
而且不同的人員打包,命名規(guī)則也不一樣,這就導致服務器上一堆壓縮包文件,排序查找不方便。
這里查閱了相關資料,并且親自測試了Vue項目在npm run build打包時,自動打出時間命名的壓縮包。
Vue項目build出壓縮包,主要依賴于filemanager-webpack-plugin插件。Vue-cli2.0和3.0+的配置方式不一樣,接下來針對兩種方式創(chuàng)建的Vue項目如何配置打包進行說明。
Vue-Cli 3.0+項目配置build壓縮包
Vue-Cli 3.0+創(chuàng)建的Vue項目所有的配置都在vue.config.js文件中,
1.安裝依賴
cnpm install filemanager-webpack-plugin moment --save-dev
2.配置插件使用
在vue.config.js中引入依賴,并配置文件名規(guī)則
const FileManagerPlugin = require('filemanager-webpack-plugin') let moment = require('moment') const NAME=moment().format('YYYYMMDDHH')
在module.exports下添加
configureWebpack: { plugins: [ new FileManagerPlugin({ events: { onEnd: { delete: ['./dist/*.zip'], archive: [ {source: './dist', destination: `./dist/${NAME}.zip`}, ] } } }) ] }
如果已有,configureWebpack.plugins,則只復制中間的插件配置項即可。
3.完整示例
const FileManagerPlugin = require('filemanager-webpack-plugin') let moment = require('moment') const NAME=moment().format('YYYYMMDDHH') module.exports = { lintOnSave: true, publicPath: process.env.NODE_ENV === 'production' ? './' : '/', chainWebpack: config => { config .plugin('html') .tap(args => { args[0].title = '****農(nóng)業(yè)大數(shù)據(jù)平臺' return args }) }, configureWebpack: { plugins: [ new FileManagerPlugin({ events: { onEnd: { delete: ['./dist/*.zip'], archive: [ {source: './dist', destination: `./dist/${NAME}.zip`}, ] } } }) ] } }
4.執(zhí)行npm run build打包命令,就有提示了,可以查看dist文件夾下有壓縮包了
注意:YYYY-MM-DD 這種命名規(guī)則的,可能會無法打包,我使用的是"filemanager-webpack-plugin": "^7.0.0-beta.0",有漏洞,這種時間格式無法打包
Vue-Cli 2.0 項目配置build壓縮包
Vue-Cli 2.0的項目配置方式與Vue-Cli 3.0+配置方式不同,主要是只能使用filemanager-webpack-plugin3.0以下的版本
1.依賴安裝
cnpm install filemanager-webpack-plugin@^2.0.5 --save-dev cnpm install moment --save-dev
2.在webpack.prod.conf.js文件頂部引入依賴
const FileManagerPlugin = require('filemanager-webpack-plugin') let moment = require('moment') const NAME=moment().format('YYYYMMDDHH')
3.在webpack.prod.conf.js文件底部的module.exports = webpackConfig之前,添加如下代碼:
webpackConfig.plugins.push( new FileManagerPlugin({ onEnd: { delete: ['./dist/*.zip'], archive: [ {source: './dist', destination: `./dist/${NAME}.zip`}, ] } }) )
注意,這里由于FileManagerPlugin的版本不一樣,這里的配置項中,相對于前面**Vue-Cli 3.0+**中少了 events: {}。如果還按照前面的配置,則不會生成壓縮包。
其他
這里我只配置了打zip格式,如果需要其他格式,可以參考filemanager-webpack-plugin插件官網(wǎng)的相關配置
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vscode中vue代碼提示與補全沒反應解決(vetur問題)
這篇文章主要給大家介紹了關于vscode中vue代碼提示與補全沒反應解決(vetur問題)的相關資料,文中通過圖文將解決的方法介紹的非常詳細,需要的朋友可以參考下2023-03-03利用vue+elementUI實現(xiàn)部分引入組件的方法詳解
這篇文章主要給大家介紹了關于利用vue+elementUI實現(xiàn)部分引入組件的相關資料,以及介紹了vue引入elementUI報錯的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。2017-11-11Vue實現(xiàn)子組件向父組件傳遞多個參數(shù)的方法
在Vue框架中,組件間的通信是一個常見的需求,特別是在子組件需要向父組件傳遞多個參數(shù)時,合理的通信方式可以顯著提升代碼的可讀性和可維護性,本文將詳細介紹如何在Vue中實現(xiàn)子組件向父組件傳遞多個參數(shù),需要的朋友可以參考下2024-10-10