Vue线上部署之cdn加速(终极加速)

2023-11-03

1.概述

之前做过服务器nginx开启gzip压缩,速度缩减了很多,加载时间在1秒多,会出现白屏,原因是好多依赖被打包到js中了,体积太大,加载很慢,今天加了下cdn,速度真正起飞
gzip的线上部署设置

1.概述

之前做过服务器nginx开启gzip压缩,速度缩减了很多,加载时间在1秒多,会出现白屏,原因是好多依赖被打包到js中了,体积太大,加载很慢,今天加了下cdn,速度真正起飞
gzip的线上部署设置

2.cdn加速流程

修改vue.config.js

const compressionPlugin = require('compression-webpack-plugin')
module.exports={
    publicPath:"./",
    devServer:{
        port:'8088',
        proxy:{
            '/api': {
                target: 'http://localhost:8081/api',//代理地址
                changeOrigin: true,//是否允许开启代理
                pathRewrite: {//代理地址重写
                  '^/api'''
                }
        }

    }
},
configureWebpack: config=>{
    if(process.env.NODE_ENV=='production'){
        return {
            plugins:[
                new compressionPlugin({//zip压缩插件
                    test: /\.js$|\.html$|\.css/,
                    threshold:10240,
                    deleteOriginalAssets:false
                })
            ],
            externals:{//排除一些引入的模块,不进行打包
                'vue':'Vue',
                'iView':'iview',
                'axios':'axios'
            }
        }
    }
}

}

注释掉类似内容

/* 按需引入 */
//import { Row, Col,Circle,Badge } from 'view-design';
//import Vue from 'vue';
// Vue.component('Row', Row);
// Vue.component('i-col', Col);
// Vue.component('i-circle', Circle);
// Vue.component('Badge', Badge);

main.js内容

 import Vue from 'vue'
import App from './App.vue'
 import axios from 'axios' // 1、在这里引入axios
 //import 'view-design/dist/styles/iview.css';
Vue.prototype.$axios = axios;   // 2、在vue中使用axios
axios.defaults.baseURL = "http://ip/api/"  //正式环境url
//axios.defaults.baseURL = "/api"
Vue.config.productionTip = false
new Vue({
  render: h => h(App)
,
}).$mount('#app')

/pulic/index.html引入cdn链接

    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
    <script src="https://cdn.bootcss.com/iview/3.5.1/iview.js"></script>
    <script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>

    <link href="https://cdn.bootcss.com/iview/3.5.1/styles/iview.css" rel="stylesheet">

之后打包部署

3.cdn+gzip vs gzip

在这里插入图片描述
在这里插入图片描述
const compressionPlugin = require('compression-webpack-plugin')
module.exports={
    publicPath:"./",
    devServer:{
        port:'8088',
        proxy:{
            '/api': {
                target: 'http://localhost:8081/api',//代理地址
                changeOrigin: true,//是否允许开启代理
                pathRewrite: {//代理地址重写
                  '^/api': ''
                }
        }
        
    }
},
configureWebpack: config=>{
    if(process.env.NODE_ENV=='production'){
        return {
            plugins:[
                new compressionPlugin({//zip压缩插件
                    test: /\.js$|\.html$|\.css/,
                    threshold:10240,
                    deleteOriginalAssets:false
                })
            ],
            externals:{//排除一些引入的模块,不进行打包
                'vue':'Vue',
                'iView':'iview',
                'axios':'axios'
            }
        }
    }
}

}

注释掉类似内容

/* 按需引入 */
//import { Row, Col,Circle,Badge } from 'view-design';
//import Vue from 'vue';
// Vue.component('Row', Row);
// Vue.component('i-col', Col);
// Vue.component('i-circle', Circle);
// Vue.component('Badge', Badge);

main.js内容

 import Vue from 'vue'
import App from './App.vue'
 import axios from 'axios' // 1、在这里引入axios
 //import 'view-design/dist/styles/iview.css';
Vue.prototype.$axios = axios;   // 2、在vue中使用axios
axios.defaults.baseURL = "http://ip/api/"  //正式环境url
//axios.defaults.baseURL = "/api"
Vue.config.productionTip = false
new Vue({
  render: h => h(App),
}).$mount('#app')

/pulic/index.html引入cdn链接

    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
    <script src="https://cdn.bootcss.com/iview/3.5.1/iview.js"></script>
    <script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>

    <link href="https://cdn.bootcss.com/iview/3.5.1/styles/iview.css" rel="stylesheet">

之后打包部署

3.cdn+gzip vs gzip

在这里插入图片描述
下面是gzip的
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue线上部署之cdn加速(终极加速) 的相关文章

  • 获取特定 S3 对象的下载计数

    我有许多 S3 对象可供我的客户使用 由于我想按使用情况向客户计费 我想知道是否有任何聪明的方法来获取给定文件的下载次数 或者 我想我可以解析 S3 提供的日志文件 但对于每个客户 1000 万次以上的提取 这可能是一项艰巨的任务 有任何想
  • 在 Python 中编写仅附加 gzip 日志文件

    我正在构建一项服务 在其中记录来自多个源的纯文本格式日志 每个源一个文件 我不打算轮换这些日志 因为它们必须永远存在 为了使这些永远存在的文件更小 我希望我可以在飞行中对它们进行 gzip 压缩 由于它们是日志数据 因此文件压缩得很好 在
  • 仅使用一个映射器的 Hadoop gzip 输入文件[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 hadoop 不能分割一个大文本文件 然后使用 gzip 压缩分割的内容 https stackoverflow com questions 6511255 why cant hadoop s
  • 如何使用包含额外数据的 Gzip 文件?

    我正在编写一个脚本 它将以 gzip 流的形式处理来自仪器的数据 在大约 90 的情况下 gzip模块工作完美 但某些流导致它产生IOError Not a gzipped file 如果 gzip 标头被删除并且 deflate 流直接馈
  • 在Android应用程序中读取本地压缩XML文件(gzip)

    我不知道如何获得InputStream 读取gzip压缩的本地xml文件 从本地存储gzip xml file 员工 gz 如果有人可以帮助我真的很感激 谢谢 此链接适用于 zip http techdroid kbeanie com 20
  • 从 CDN JS 导入 firebase firestore 不起作用

    我正在从 CDN 导入 Firebase Firestore 以在本地服务器上运行 我按照文档所述将其导入 就在这里 https firebase google com docs web alt setup https firebase g
  • 在java中提取.gz文件

    我正在尝试用 java 解压缩一些 gz 文件 经过一些研究我写了这个方法 public static void gunzipIt String name byte buffer new byte 1024 try GZIPInputStr
  • 如何将 Zlib 与 Cmake 链接

    我试图将我的文件与 zlib 库链接 但仍然得到 对 deflateInit 的未定义引用 我目前正在使用CLion 已从主页下载了zLib文件并将其添加到项目中 这就是我的 CmakeLists txt 的样子 cmake minimum
  • Spark 向 S3 写入/读取 - 分区大小和压缩

    我正在做一个实验来了解哪种文件大小对于 s3 和 EMR Spark 表现最好 输入数据 Incompressible data Random Bytes in files Total Data Size 20GB Each folder
  • 如何查看远程脚本被阻止时返回的内容

    我在我的 web 应用程序中使用 Google 托管的 jQuery ajax googleapis com ajax libs jquery 1 8 3 jquery min js 作为错误诊断的一部分 我有一个 window onerr
  • 如何在 RESTful Flask 应用程序中将 Pandas DataFrame 与 ProtoBuf/Gzip 进行序列化/反序列化?

    我有一个pandas dataframe作为Flask Response对象在一个flask应用 目前我正在将其转换为JSON Object df df to json return Response df status 200 mimet
  • Cloudfront CORS 阻止字体

    除了字体之外的所有资源都加载得很好 每当我访问我的网站时 我都会收到这样的消息 访问字体 https xxxxxxxxxx cloudfront net assets fontawesome webfont woff2 https xxxx
  • http压缩和url压缩有什么区别?

    查看 Web config 中的节点 我发现它允许 httpCompression 和 urlCompression 元素 两者有什么区别 我只想执行标准 gzip 我应该使用哪一个 url压缩指定what压缩和http压缩表示how进行压
  • React 包的 CDN 链接以及在使用 React 时如何使用 CDN 中的脚本导入它

    我尝试在没有 NPM 和其他工具的情况下使用 React 而是通过添加 CDN 链接来使用它 但是如何导入依赖包 例如useState hook 如果它是通过另一个脚本标签添加的 那么它的 CDN 链接是什么 下面是我的代码
  • .net 中的 deflate、gzip 和 zlib 的一个库

    首先 我们来定义一些容易混淆的术语 deflate compression algorithm zlib header deflate trailer gzip header deflate trailer 我正在寻找一个基本上可以让我执行
  • J2ME 的 GZIPInputStream 实现

    是否有适用于 J2ME 的 GZIPInputStream 实现 我更喜欢 Apache 风格许可证 IIRC 的电话ME项目 https phoneme dev java net 包括一个实现GZIP输入流 http jcs mobile
  • Pako 无法压缩 python 中生成的 gzip 文件

    我使用以下代码从 python 生成 gzip 文件 使用 python 3 file gzip open output json gzip wb dataToWrite json dumps data encode utf 8 file
  • 无法使用 tar -cvpzf 解压完整目录

    把我的头敲在这上面 I used tar cvpzf file tar gz压缩一个完整的目录 我将文件移动到另一台服务器 并尝试解压缩复制存档的目录 无法使其发挥作用 bash 3 2 tar xvpzf news tar gz tar
  • Django:如何在开发模式下 gzip 静态文件?

    我的 django contrib staticfiles 设置似乎没问题 因为所有静态文件都按预期提供 然而 例如 尽管我打开了 GZipMiddleware 但 static css 文件不会被压缩 供参考 我的视图 html 实际上确
  • 如何使用 .htaccess 提供预压缩的 gzip/brotli 文件

    我正在尝试为 html js 和 css 提供预压缩的 gzip brotli 文件 用下面的代码 RewriteEngine on Brotli If the web browser accept brotli encoding Rewr

随机推荐

  • CloudCompare 二次开发(10)——点云投影到平面

    目录 一 概述 二 代码集成 三 结果展示 一 概述 不依赖任何第三方点云相关库 使用CloudCompare编程实现点云投影到指定平面 具体计算原理见 PCL 点云投影到拟合平面 二 代码集成 1 mainwindow h文件public
  • Go语言面试题--基础语法(22)

    文章目录 2 下面这段代码输出什么 为什么 3 关于异常的触发 下面说法正确的是 1 下面这段代码输出什么 为什么 func i int PrintInt fmt Println i func main var i int 1 i Prin
  • 华为od机试-最接最大输出功率的设备 /查找充电设备组合

    某个充电站 可提供n个充电设备 每个充电设备均有对应的输出功率 任意个充电设备组合的输出功率总和 均构成功率集合P的1个元素 功率集合P的最优元素 表示最接近充电站最大输出功率P max的元素 输入描述 输入为3行 第1行为充电设备个数n
  • Eclipse 中出现红色下划波浪线与红色感叹号

    一直用eclipse写Python 老是看到一些字符串都给出红色波浪线 看着就不舒服 弄了老半天终于消除了 原来是拼写检查 Windows gt Preferences gt General gt Editors gt Text Edito
  • BlenderGIS:解决BlenderGIS导入OSM报错,无法导入OSM,不显示OSM面板问题

    Tips 本文不扫盲 BlenderGIS的基础知识网上一大片 在这里就不做科普教学 踩坑路上遇到的一个不大不小的坑 坑了我整整一天 纯纯一个大无语 blender版本 3 1 Traceback most recent call last
  • linux下项目部署和配置域名

    项目部署和配置域名 1 首先将项目放入 home www wwwroot default 不同服务器 www路径可能不一样 目录下 2 找到apche目录 一般apache目录在 usr local apache下 也可以通过命令find
  • 修改为一个接口

    Select SELECT COUNT id AS total orders n FROM eb store order int totalOrder Select SELECT SUM pay price AS total income
  • react中useState、useRef之间的区别

    今天写代码用useState 数据总是差一步 同学提醒我他是异步 我恍然大悟 用useRef就好了 记录一下他俩的区别 1 useState 组件更新不会改变之前的状态 可以保存状态 值变化 会render 视图会更新 setState是异
  • Some Information in Study

    Books recommended by programmer 1 Code Complete 2nd Ed by Steve McConnell 2 The Pragmatic Programmer 3 Structure and Int
  • Nodejs的安装

    1 Nodejs的安装 1 下载与安装 下载地址 http nodejs cn download 也可以从网盘下载 链接 https pan baidu com s 1 tnPpgoZldQJherlXkUJdA 提取码 lmxo 2 进行
  • SpringBoot 27 Dubbo-admin、Zookeeper 安装

    27 1 Dubbo 什么是 Dubbo Apache Dubbo 是一款高性能 轻量级的开源 Java RPC 框架 它提供了 三大核心能力 面向接口的远程方法调用 智能容错和负载均衡 以及服务自动注册和发现 Dubbo 采用全 Spri
  • GO 导入(import)相对路径(Relative Path)的问题

    1 问题的产生 在github上fork一个开源项目之后 想要修改部分代码后供公司项目使用 发现需要修改源项目中的所有内部import 例如开源模块 M中存在P1 P2等package 其中P2 import P1的import路径为 gi
  • JavaWeb详解(第四篇)之JSP 简介

    JavaWeb详解 第四篇 之JSP 简介 1 JSP概述 1 1 什么是JSP JSP 全称是 Java Servlet Pages 它是和 servlet 技术一样 都是 SUN 公司定义的一种用于动态开发 web 资源的技术 JSP
  • conda 创建/删除/复制/重命名 深度学习环境

    1 创建 打开anaconda的prompt面板 先创建一个python3 9的环境 conda create n pytorch1 9 python 3 9 创建完之后可以激活环境 activate pytorch1 9 进一步可以安装t
  • CRM软件系统能否监控手机的使用

    CRM可以监控手机吗 答案是不可以 CRM是一款帮助企业优化业务流程 提高销售效率的工具 例如Zoho CRM 最多也就是听一下销售的通话录音 却不可以监控手机 毕竟CRM不是一款监控软件 CRM的主要作用有以下几点 1 管理客户数据 CR
  • 【数据结构】带头双向循环链表---C语言版(单链表我们分手吧,不要再找我玩了!!!)

    文章目录 一 前言 二 链表的分类 1 单向或者双向链表 2 带头或者不带头链表 3 循环或者非循环 4 最常用链表 三 带头双向循环链表详解 创建带头双向循环链表 接口1 定义结构体 LTNode 接口2 初始化 创建哨兵卫 LTInit
  • mmdet_config_builder_win

    在mmdet框架中使用config配置文件构建网络模型 from mmdet models builder import build detector from mmcv import Config import torch import
  • Android 内核调用充电状态和电池电量

    Android 内核调用充电状态和电池电量 前言 一 调用的文件 二 调用函数 1 引入使用 2 返回值说明 小结 前言 因为Android项目需求 不是什么时候都是用APP来实现功能 部分项目是要求需要驱动需要独立完成部分系统层面的功能
  • 在vue中引入echart的折线图时,echarts.graphic.LinearGradient,不能正常显示的解决方法。

    在vue中需要达到折线图 且有区域渐变色的效果 那么像下面那样子直接复制过来 在vue中不能渲染出来 需要将原来的 new echarts graphic LinearGradient 改成这样 new this echarts graph
  • Vue线上部署之cdn加速(终极加速)

    文章目录 1 概述 3 cdn gzip vs gzip 1 概述 之前做过服务器nginx开启gzip压缩 速度缩减了很多 加载时间在1秒多 会出现白屏 原因是好多依赖被打包到js中了 体积太大 加载很慢 今天加了下cdn 速度真正起飞