将 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 相关文章推荐
一个js实现的所谓的滑动门
May 23 Javascript
理解JSON:3分钟课程
Oct 28 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
Jul 01 Javascript
Bootstrap3学习笔记(三)之表格
May 20 Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
微信小程序实现聊天室
Aug 21 Javascript
详解React的回调渲染模式
Sep 10 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
基于mysql的bbs设计(三)
2006/10/09 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
Open and Print a Word Document
2007/06/15 Javascript
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
webpack打包react项目的实现方法
2018/06/21 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python实现统计文本文件字数的方法
2017/05/05 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Flask-WTF表单的使用方法
2019/07/12 Python
python redis存入字典序列化存储教程
2020/07/16 Python
openCV提取图像中的矩形区域
2020/07/21 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
Hotels.com中国区:好订网
2016/08/18 全球购物
学术诚信承诺书
2014/05/26 职场文书
搞笑的获奖感言
2014/08/16 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
化工生产实习心得体会
2016/01/22 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL