将 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下string.format函数补充
Aug 24 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
Apr 15 Javascript
JavaScript函数的4种调用方法详解
Apr 22 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
JS实现的相册图片左右滚动完整实例
Nov 23 Javascript
JS中静态页面实现微信分享功能
Feb 06 Javascript
详解Vue方法与事件
Mar 09 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 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、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP在线书签系统分享
2016/01/04 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
详解JS函数重载
2014/12/04 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
Python编程之序列操作实例详解
2017/07/22 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
windows下python安装pip图文教程
2018/05/25 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
用python实现刷点击率的示例代码
2019/02/21 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
英国著名书店:Foyles
2018/12/01 全球购物
求网格中的黑点分布
2013/11/06 面试题
房产授权委托书范本
2014/09/22 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
民事起诉书范本
2015/05/19 职场文书
患者身份识别制度
2015/08/06 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
分享python函数常见关键字
2022/04/26 Python