import fs = require("fs"); import rq = require("request-promise-native"); import path = require("path"); var GitRevisionPlugin = require('git-revision-webpack-plugin'); var gitRevisionPlugin = new GitRevisionPlugin(); function getFiles(dir: string, files_: string[]) { files_ = files_ || []; let files = fs.readdirSync(dir); for (let i in files) { let name = dir + '/' + files[i]; if (fs.statSync(name).isDirectory()) getFiles(name, files_); else files_.push(name); } return files_; } let dir = path.resolve("./dist"); let files = getFiles(dir, []).filter(f => path.extname(f) !== ".map"); let formData = { BranchName: gitRevisionPlugin.branch(), }; for (let f of files) { formData[f.substr(dir.length + 1)] = fs.createReadStream(f); } let url = `http://pi.xcad.me:3000/upload'`; // let url = `http://127.0.0.1:3000/upload`; rq.post({ url: url, formData: formData }, function optionalCallback(err, httpResponse, body) { if (err || body !== "ok") return console.error('部署失败!', err); console.info(`部署成功!`); console.log(`测试地址:https://pi.xcad.me/${formData.BranchName}`); });