命令行自动化上传内容
作为前端的搬瓦工,是不是经常会有在自己公司内部需要向运营后台或者什么后台管理工具上传代码的经历? 我虽然不是很频繁接触这个业务场景,但是遇到过几次就快被频繁的手动操作给逼疯了。于是想了一个办法,解放自己的双手。
首先简单说一下我的应用场景:比如业务有一个需求到我这边,我需要做一个H5页面给予支持,然后将主要代码上传到后台,在线查看效果,有修改就再次重复以上操作。
对于什么自己搭建开发环境,搞什么mock数据,对于这种可以直接在线看效果的情况,简直不算什么。
所以,我就有了做一个自动上传的工具的想法。
环境准备:Nodejs, 用到的插件:glob,node-fetch,form-data 说一下大体思路: 1:读文件 2:创建form-data对象 3:组装需要上传的内容 4:发起上传请求 5:处理上传结果
#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const glob = require('glob'); const resolve = file => path.resolve(__dirname, file); const filePath = glob.sync(resolve('./dist/文件名'));//多个文件 const fileContent = filePath.map(e => fs.readFileSync(e, 'utf-8')).join('\n'); const filePath = resolve('./dist/文件名');//单个文件 const fileContent = fs.readFileSync(filePath, 'utf-8'); const form = new FormData(); form.append('key', fileContent); fetch('http://xxx.xxx.com/upload/ss', { method: 'POST', headers: { Cookie: '后台登录需要的' }, body: form }) .then(res => res.text())//返回的是html,如果是json,res.json() .then(res => { console.log(res);//上传结果看自己的情况处理 }) .catch(err => { //异常处理 });