位置: IT常识 - 正文

vue项目打包优化及配置vue.config.js文件(实测有用)(vue打包速度优化)

编辑:rootadmin
vue项目打包优化及配置vue.config.js文件(实测有用) 首先我们需要在根目录里创建一个vue.config.js

推荐整理分享vue项目打包优化及配置vue.config.js文件(实测有用)(vue打包速度优化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue项目打包优化方案,vue项目打包优化方案,vue项目打包运行,vuecli打包优化,vue3打包优化,vue webpack打包优化,vue项目打包优化方案,vue3打包优化,内容如对您有帮助,希望把文章链接给更多的朋友!

首先在文件中先写入//打包配置文件module.exports = { assetsDir: 'static', // outputDir的静态资源(js、css、img、fonts)目录 publicPath: './', // 静态资源路径(默认/,如果不改打包后会白屏) productionSourceMap: false, //不输出map文件};之后再使用CDN 加速优化(此代码在module.exports对象外面)cdn加速可以去官网找到相应插件的路径 BootCDN官网// 是否为生产环境const isProduction = process.env.NODE_ENV !== 'development';// 本地环境是否需要使用cdnconst devNeedCdn = false// cdn链接const cdn = { // cdn:模块名称和模块作用域命名(对应window里面挂载的变量名称) externals: { 'vue': 'Vue', 'vuex': 'Vuex', 'vue-router': 'VueRouter', 'axios': 'axios', 'element-ui': 'ELEMENT' //这里需要注意下 }, // cdn的css链接 css: ['https://unpkg.com/element-ui/lib/theme-chalk/index.css' //引入element ui css文件 ], // cdn的js链接 js: [ 'https://cdn.bootcss.com/vue/2.6.11/vue.min.js', 'https://cdn.bootcss.com/vue-router/3.2.0/vue-router.min.js', 'https://cdn.bootcss.com/axios/0.27.2/axios.min.js', 'https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.common.min.js' ]}vue项目打包优化及配置vue.config.js文件(实测有用)(vue打包速度优化)

在module.exports对象里写入

chainWebpack: config => { // ============注入cdn start============ config.plugin('html').tap(args => { // 生产环境或本地需要cdn时,才注入cdn if (isProduction || devNeedCdn) args[0].cdn = cdn return args }) // ============注入cdn start============ },对图片文件进行压缩

下载依赖 这里如果用npm 可能会下载速度慢安装失败,建议使用cnpm

cnpm install image-webpack-loader --save-dev

之后继续在 chainWebpack里面新增以下代码

config.plugins.delete('prefetch') config.module.rule('images') .test(/\.(png|jpe?g|gif|svg)(\?.*)?$/) .use('image-webpack-loader') .loader('image-webpack-loader') .options({ bypassOnDebug: true })对代码压缩

先下载依赖 也建议使用cnpm

cnpm install uglifyjs-webpack-plugin --save-dev

在module.exports对象里写入

configureWebpack: config => { if (isProduction || devNeedCdn) config.externals = cdn.externals // 代码压缩 config.plugins.push( new UglifyJsPlugin({ uglifyOptions: { //生产环境自动删除console compress: { drop_debugger: true, drop_console: true, pure_funcs: ['console.log'] } }, sourceMap: false, parallel: true }) ) },对公共代码抽离

在configureWebpack里继续写入

// 公共代码抽离 config.optimization = { splitChunks: { cacheGroups: { vendor: { chunks: 'all', test: /node_modules/, name: 'vendor', minChunks: 1, maxInitialRequests: 5, minSize: 0, priority: 100 }, common: { chunks: 'all', test: /[\\/]src[\\/]js[\\/]/, name: 'common', minChunks: 2, maxInitialRequests: 5, minSize: 0, priority: 60 }, styles: { name: 'styles', test: /\.(sa|sc|c)ss$/, chunks: 'all', enforce: true }, runtimeChunk: { name: 'manifest' } } } }最后整合起来vue.config.jsconst UglifyJsPlugin = require('uglifyjs-webpack-plugin')// 是否为生产环境const isProduction = process.env.NODE_ENV !== 'development';// 本地环境是否需要使用cdnconst devNeedCdn = false// cdn链接const cdn = { // cdn:模块名称和模块作用域命名(对应window里面挂载的变量名称) externals: { 'vue': 'Vue', 'vuex': 'Vuex', 'vue-router': 'VueRouter', 'axios': 'axios' }, // cdn的css链接 css: [ ], // cdn的js链接 js: [ 'https://cdn.bootcss.com/vue/2.6.11/vue.min.js', 'https://cdn.bootcss.com/vue-router/3.2.0/vue-router.min.js', 'https://cdn.bootcss.com/axios/0.27.2/axios.min.js', 'https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.common.min.js' ]}//打包配置文件module.exports = { assetsDir: 'static', publicPath: './', productionSourceMap: false, //不输出map文件 chainWebpack: config => { // ============注入cdn start============ config.plugin('html').tap(args => { // 生产环境或本地需要cdn时,才注入cdn if (isProduction || devNeedCdn) args[0].cdn = cdn return args }) // ============注入cdn start============ // 在chainWebpack中新增以下代码 config.plugins.delete('prefetch') config.module.rule('images') .test(/\.(png|jpe?g|gif|svg)(\?.*)?$/) .use('image-webpack-loader') .loader('image-webpack-loader') .options({ bypassOnDebug: true }) }, configureWebpack: config => { if (isProduction || devNeedCdn) config.externals = cdn.externals // 代码压缩 config.plugins.push( new UglifyJsPlugin({ uglifyOptions: { //生产环境自动删除console compress: { drop_debugger: true, drop_console: true, pure_funcs: ['console.log'] } }, sourceMap: false, parallel: true }) ) // 公共代码抽离 config.optimization = { splitChunks: { cacheGroups: { vendor: { chunks: 'all', test: /node_modules/, name: 'vendor', minChunks: 1, maxInitialRequests: 5, minSize: 0, priority: 100 }, common: { chunks: 'all', test: /[\\/]src[\\/]js[\\/]/, name: 'common', minChunks: 2, maxInitialRequests: 5, minSize: 0, priority: 60 }, styles: { name: 'styles', test: /\.(sa|sc|c)ss$/, chunks: 'all', enforce: true }, runtimeChunk: { name: 'manifest' } } } } }, devServer: { proxy: { '/api': { target: '线上接口地址', ws: true, changeOrigin: true, pathRewrite: { '^/api': '/', // 根据之前vuejs的配置,用来拿掉URL上的(/api),但是暂时没有什么效果 }, }, }, },};最后我的vue项目由原来的12M减少到2M,启动也是成功
本文链接地址:https://www.jiuchutong.com/zhishi/278470.html 转载请保留说明!

上一篇:阻止更改系统主题内容(阻止电脑系统更新设置在哪)

下一篇:人工智能导论(第四版)王万良编著课后习题答案(人工智能导论报告)

  • xr两张卡怎么放(xr双卡怎么放进去)

    xr两张卡怎么放(xr双卡怎么放进去)

  • 如何更新显卡驱动(如何更新显卡驱动程序win7)

    如何更新显卡驱动(如何更新显卡驱动程序win7)

  • 苹果xs max自拍怎么是反的(苹果xs max自拍怎么是反的怎么调整)

    苹果xs max自拍怎么是反的(苹果xs max自拍怎么是反的怎么调整)

  • beat studio3 降噪怎么打开(beats studio3降噪原理)

    beat studio3 降噪怎么打开(beats studio3降噪原理)

  • 小米手机短信打不开闪退(小米手机短信打不开怎么办)

    小米手机短信打不开闪退(小米手机短信打不开怎么办)

  • 哔哩哔哩转正有什么用(哔哩哔哩转正有影响吗)

    哔哩哔哩转正有什么用(哔哩哔哩转正有影响吗)

  • 虚拟内存和物理内存的区别(虚拟内存和物理内存之间有何关系)

    虚拟内存和物理内存的区别(虚拟内存和物理内存之间有何关系)

  • 苹果手机已停用请在14分钟使用是什么情况(苹果手机已停用怎么办才能解开)

    苹果手机已停用请在14分钟使用是什么情况(苹果手机已停用怎么办才能解开)

  • 微信输入框字变小(微信输入框字变小,发出去是正常的)

    微信输入框字变小(微信输入框字变小,发出去是正常的)

  • 动态锁屏壁纸怎么没有声音(动态锁屏壁纸怎么关闭)

    动态锁屏壁纸怎么没有声音(动态锁屏壁纸怎么关闭)

  • macbook主板坏了表现(macbook主板坏了修要多少钱)

    macbook主板坏了表现(macbook主板坏了修要多少钱)

  • 华为手机语音控制功能在哪里(华为手机语音控制录像)

    华为手机语音控制功能在哪里(华为手机语音控制录像)

  • p30带不带无线充电功能(p30无线充电吗)

    p30带不带无线充电功能(p30无线充电吗)

  • 快手怎么改收货地址(快手上怎么修改收货人)

    快手怎么改收货地址(快手上怎么修改收货人)

  • 手机怎么重命名图片(手机怎么重命名excel文件名)

    手机怎么重命名图片(手机怎么重命名excel文件名)

  • 滴滴出行怎么改目的地(滴滴出行怎么改地址)

    滴滴出行怎么改目的地(滴滴出行怎么改地址)

  • 拼多多怎么上传商品(拼多多怎么上传营业执照)

    拼多多怎么上传商品(拼多多怎么上传营业执照)

  • qq里的扩列什么意思(qq扩列什么用)

    qq里的扩列什么意思(qq扩列什么用)

  • 特别关心对方能看见吗(特别关心会被发现吗)

    特别关心对方能看见吗(特别关心会被发现吗)

  • wpsword怎么画直线(wps画直线怎么画直线)

    wpsword怎么画直线(wps画直线怎么画直线)

  • 交管12123支付页面打不开(交管12123支付页面为什么只有农行)

    交管12123支付页面打不开(交管12123支付页面为什么只有农行)

  • qq安装权限设置在哪里(qq安装权限设置在哪里设置)

    qq安装权限设置在哪里(qq安装权限设置在哪里设置)

  • 手机号码实名认证(手机号码实名认证截图)

    手机号码实名认证(手机号码实名认证截图)

  • 微软输入法打不出汉字解决方法(微软输入法打不出汉字只有拼音)

    微软输入法打不出汉字解决方法(微软输入法打不出汉字只有拼音)

  • Linux去除fstab文件只读属性的方法(linux去除文本中的特殊符号)

    Linux去除fstab文件只读属性的方法(linux去除文本中的特殊符号)

  • 税收负担影响企业的利润吗
  • 固定资产未转固属于什么风险
  • 公司组织出国旅游费用
  • 携程代订住宿发票能作为差旅费报销吗
  • 个体工商户税收标准2023年
  • 房企所得税纳税义务发生时间
  • 出口酒类产品需要什么
  • 企业运费发票需要缴纳印花税吗附政策依据
  • 个税速算扣除数是怎么计算出来的
  • 持有至到期投资在资产负债表怎么填
  • 以前购买的固定资产现在入账
  • 特殊销售方式下销售额的确定
  • 出售股票会计怎么做分录
  • 电子普通发票需要盖章吗
  • 缴纳的社保费可以退吗怎么退
  • 代销方式的特点
  • 销售退货成本如何计算
  • 财务费用错记制造费用
  • 资本公积是什么会计要素
  • 加计扣除的会计要素
  • 虚拟机系统vmware
  • 建立无法轻易删除的数据
  • linux操作系统有哪些版本
  • 通往萨卡洛布拉的火车
  • 行走在奥卡万戈河中的大象,博茨瓦纳,非洲南部 (© Markus Pavlowsky/Getty Images)
  • js获取网页链接
  • php7.3安装
  • yolov5m
  • bert获取中文词向量
  • 论文导读怎么做
  • vue自学
  • 清算汇缴报表填什么内容
  • 房地产停车场属于公共配套设施吗
  • mongodb应用实例
  • 支付版权使用费怎么记账
  • 嵌入式软件行业在加计扣除的时候可以看作是制造业吗
  • 水电费用属于会计的什么费用
  • 没有发票的福利支出如何入帐
  • 材料报废属于正常损失吗
  • 长期应付款项目,根据专项应付款和长期应付款
  • 退税已到账还可以更改吗
  • 鲜花虫草开发票属于什么类别?
  • 进口货物会计分录举例
  • 长期借款利息如何计算
  • 结账与对账的共同意义在于
  • 计提本月工资的账务处理
  • 防伪公司应该选用什么目标市场策略
  • 固定资产计提完了怎么处理
  • 其他应付款是什么科目代码
  • 房租已支付未收到发票可以做费用吗
  • 物业管理公司如何应用节能新技术
  • 银行本票的使用仅限于
  • 工业企业中制造费用包括哪些内容
  • mysql osc
  • windows开发了多久
  • Windows Sever 2016技术预览版3 本月发布
  • Linux系统下findmnt命令使用全解
  • userint32.exe - userint32是什么进程
  • ntfs分区的优点
  • win10系统更新后有问题如何恢复
  • U盘写保护怎么处理
  • windows time同步系统时间的服务无法启动报错1058解决方法
  • zmweb.exe是什么进程
  • win7 esd安装文件怎么安装教程
  • 电脑出现nobootdevicefound咋办
  • opengl learn
  • 全志科技在国内芯片界地位
  • 怎么用node.js写接口
  • shell去掉\r
  • “android”
  • jq获取form表单数据
  • 反编译android动态库
  • 北京税务跨区迁移不予受理,原因是什么
  • 南京市国家税务局官网
  • 增值税专票红冲退税
  • 劳保费如何入账
  • 2021医保交费截止
  • 广东发票勾选认证操作流程
  • 增值税发票如何红冲
  • 普通版怎么下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设