閱讀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實現前後端分離