美文网首页Vue.js专区程序员让前端飞
将 vue 生成的 js 上传到七牛

将 vue 生成的 js 上传到七牛

作者: jackPan | 来源:发表于2017-07-27 11:00 被阅读0次

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

    这样做一般有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 同级目录下,如下图:

    image.png

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

    image.png

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

    image.png

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

    image.png

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

    首先 npm run build

    然后 python upqiniu.py

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

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

    相关文章

      网友评论

        本文标题:将 vue 生成的 js 上传到七牛

        本文链接:https://www.haomeiwen.com/subject/dbtzkxtx.html