阅读519 返回首页    go 阿里云 go 技术社区[云栖]


基于阿里的Node全栈之路(四)前后端分离进阶-自动上传前端代码到OSS

上一篇文章提到我们是人工上传构建后的代码的,作为一个自认自动化运维程度算比较高的我,怎么能忍受嘞,怎么也得是自动的吧!

我其实也尝试过github上有人分享过类似的插件,但发现都不能用,而且都很久没维护来,所以,只能自己来搞了。

这里,贴下我的自动上传代码,在www文件创建一个index.js

const fs = require('fs');
const co = require('co');
const path = require('path');
const oss = require('ali-oss');

const store = oss({
  accessKeyId: 'accessKeyId',
  accessKeySecret: 'accessKeySecret',
  bucket: 'bucket',
  region: 'oss-cn-shenzhen',
});

(() => {
  const root = path.resolve(__dirname, './dist');
  const files = [];
  function readDirSync(p) {
    const pa = fs.readdirSync(p);
    pa.forEach((e) => {
      const cur_path = `${p}/${e}`;
      const info = fs.statSync(cur_path);
      if (info.isDirectory()) {
        readDirSync(cur_path);
      } else {
        files.push(cur_path);
      }
    });
  }
  readDirSync(root);
  co(function* () {
    for (let index = 0; index < files.length; index += 1) {
      const e = files[index];
      const result = yield store.put(e.replace(root, ''), e);
      console.log(result);
    }
  });
})();

然后再运行

node index.js

最后更新:2017-09-26 04:02:50

  上一篇:go  FG
  下一篇:go  基于阿里的Node全栈之路(三)利用阿里云OSS实现前后端分离