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脚本!