将 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 相关文章推荐
javascript知识点收藏
Feb 22 Javascript
JavaScript中的细节分析
Jun 30 Javascript
jquery $(this).attr $(this).val方法使用介绍
Oct 08 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
Jun 14 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
Node.js中文件操作模块File System的详细介绍
Jan 05 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
微信小程序 云开发模糊查询实现解析
Sep 02 Javascript
JavaScript 定时器详情
Nov 11 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中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
jquery 问答知识整理
2010/02/11 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
Angular排序实例详解
2017/06/28 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
python的正则表达式re模块的常用方法
2013/03/09 Python
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Python中str.format()详解
2017/03/12 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python PIL库图片灰化处理
2020/04/07 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
送餐员岗位职责范本
2014/02/21 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
投资入股合作协议书
2014/10/28 职场文书
2014年个人售房协议书
2014/10/30 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android