将 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 相关文章推荐
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
jQuery获取iframe的document对象的方法
Oct 10 Javascript
创建js对象和js类的方法汇总
Dec 24 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
jquery 中ajax执行的优先级
Jun 22 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
详解vue 模版组件的三种用法
Jul 21 Javascript
关于Vue组件库开发详析
Jul 01 Javascript
JavaScript实现文件下载并重命名代码实例
Dec 12 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
Jul 28 Javascript
在vue中实现给每个页面顶部设置title
Jul 29 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在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
MySQL适配器PyMySQL详解
2017/09/20 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
Python3 合并二叉树的实现
2019/09/30 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
初入社会应届生求职信
2013/11/18 职场文书
促销活动总结范文
2014/04/30 职场文书
法律系毕业生求职信
2014/05/28 职场文书
信用卡工资证明格式
2014/09/13 职场文书
孔繁森观后感
2015/06/10 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers