将 vue 生成的 js 上传到七牛的实例


Posted in Javascript onJuly 28, 2017

一般 vue 的项目,大家都是直接把最后生成的 css js 等文件直接上传到服务器,并没有才有 cdn 的业务

这样做一般有2个弊端,

  1. 增加服务器带宽压力,访问量一旦上去,服务器就可能因为带宽压力挂掉
  2. 部分地区访问速度会变慢

不过虽然知道归知道,但是每次都手动把 js css 文件传到七牛上很累的。
尤其是在改动频繁的情况下,上传七牛每次上传七牛 cdn 很浪费时间。

于是就去找七牛的文档,决定用脚本来解决这个问题,我是用的 python sdk 实现得。

python 环境请自行安装

首先下载七牛的包

pip install qiniu

然后安装第三方的依赖包 glob2

pip install glob2

upqiniu.py

# -*- coding: utf-8 -*-
from qiniu import Auth, put_file,
import qiniu.config
import glob2
import os
#需要填写你的 Access Key 和 Secret Key
access_key = '*********************'
secret_key = '**********************'
#构建鉴权对象
q = Auth(access_key, secret_key)
#要上传的空间
bucket_name = '****'

resources = glob2.glob('dist/static/**')
def upload(path):
  file_name = path.replace('dist/', '')
  key = file_name
  token = q.upload_token(bucket_name, key, 3600)
  localfile = './' + path
  put_file(token, key, localfile)

for r in resources:
  if os.path.isfile(r):
   upload(r)

需要将本脚本(upqiniu.py)放到 dist 同级目录下,如下图:

将 vue 生成的 js 上传到七牛的实例
image.png

脚本中的 access_key secret_key 你登录七牛后在个人资料中即可找到:

将 vue 生成的 js 上传到七牛的实例

还需要将 webpack 的 publicPath 改成七牛的地址即改成下面这个

将 vue 生成的 js 上传到七牛的实例

在 vue 的项目中,只需要改动 config 目录下面的 index.js 即可

将 vue 生成的 js 上传到七牛的实例

虽然改动起来有一点小麻烦,但是一劳永逸,

首先 npm run build

然后 python upqiniu.py

最后将你的 index.html 拉到线上服务器就可以了。

ps: 这个脚本会将 dist/static/ 的所有文件上传到七牛,包括 字体文件 , 图片等。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
基于jQuery的前端数据通用验证库
Aug 08 Javascript
被遗忘的javascript的slice() 方法
Apr 20 Javascript
javascript实现校验文件上传控件实例
Apr 20 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 Javascript
jquery调整表格行tr上下顺序实例讲解
Jan 09 Javascript
利用Vue.js指令实现全选功能
Sep 08 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
Vue如何实现组件的源码解析
Jun 08 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
Feb 09 Javascript
微信小程序轮播图swiper代码详解
Dec 01 Javascript
详解Vue2中组件间通信的解决全方案
Jul 28 #Javascript
详解React 16 中的异常处理
Jul 28 #Javascript
JavaScript截屏功能的实现代码
Jul 28 #Javascript
BootStrap selectpicker后台动态绑定数据的方法
Jul 28 #Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 #Javascript
js 获取html5的data属性实现方法
Jul 28 #Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 #jQuery
You might like
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
python实现划词翻译
2020/04/23 Python
用python代码做configure文件
2014/07/20 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
python使用psutil模块获取系统状态
2016/08/27 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
python实现拓扑排序的基本教程
2018/03/11 Python
python实现吃苹果小游戏
2020/03/21 Python
python获取整个网页源码的方法
2020/08/03 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
MySQL面试题目集锦
2016/04/14 面试题
挖掘机司机岗位职责
2014/02/12 职场文书
公安学专业求职信
2014/07/27 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
表扬信范文
2015/05/04 职场文书
golang中的空接口使用详解
2021/03/30 Python
Python实现排序方法常见的四种
2021/07/15 Python
vue3获取当前路由地址
2022/02/18 Vue.js
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis