2023-05-26 node一键部署静态资源到七牛云服务器(长更未完待续)

业务场景与作用:前端运行node脚本执行上传资源命令到七牛云,如上传前端打包好的dist包到服务器;该法子可省去一些人工操作以及减少服务端的流量。上传的对象为七牛云的对象存储

第一步:创建你的七牛云帐号成为开发者。

注册七牛云帐号:https://portal.qiniu.com/signup

注意:你得进行实名认证才能使用七牛云的对象存储

实名认证完成后,进入对象存储的空间管理页面:https://portal.qiniu.com/kodo/bucket

在这个页面新建一个空间,这个空间就是你要上传的最终目的地。

新建的空间的访问控制在测试阶段最好是设为公开模式,最后根据业务再来设为公开或者私有。

第二步:安装七牛云SDK

npm install qiniu --save

第三步:编写node脚本

const qiniu = require('qiniu');
 
// 设置你的七牛云密钥和存储空间名
const accessKey = '你的AccessKey';
const secretKey = '你的SecretKey';
const bucket = '你的存储空间名';
 
// 初始化配置
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
const config = new qiniu.conf.Config();
// 配置zone
config.zone = qiniu.zone.Zone_z0;
const formUploader = new qiniu.form_up.FormUploader(config);
const putExtra = new qiniu.form_up.PutExtra();
 
// 要上传的文件路径
const localFilePath = '本地文件路径';
 
// 上传的文件名,可以自定义
const key = '上传后的文件名';
 
// 生成上传令牌
const options = {
  scope: bucket + ":" + key
};
const policy = new qiniu.rs.PutPolicy(options);
const uploadToken = policy.uploadToken(mac);
 
// 上传文件
formUploader.putFile(uploadToken, key, localFilePath, putExtra, function(respErr, respBody, respInfo) {
  if (respErr) {
    throw respErr;
  }
  if (respInfo.statusCode == 200) {
    console.log(respBody);
  } else {
    console.log(respInfo.statusCode);
    console.log(respBody);
  }
});

最后,执行node脚本!

 

posted @ 2023-05-26 14:30  叶乘风  阅读(69)  评论(0编辑  收藏  举报