用shelljs實現前端部署自動化

1、場景

在前端開發過程當中,你確定常常使用到如下等命令:前端

npm run build
git add .
git commit -m 'commit'
git push

本人在用vue-cli寫個人我的博客時,將其部署到coding pages上。不用github pages的緣由純粹是由於慢。。。每一次部署,都要將上面的命令敲一遍,實在令我很痛苦。若是能用一條命令執行以上全部任務,那就爽多了。vue

話很少說,說幹就幹。node

2、Shelljs

這個庫可以讓咱們在js文件中執行shell命令,具體能夠看文檔git

安裝

npm install [-g] shelljs

有兩種使用方式,一種是全局模式(對應全局安裝),一種是局部模式。看下面的使用案例就知道二者區別。github

3、使用

在根目錄下新建文件shell.js,內容以下:vue-cli

//局部模式
var shell = require('shelljs');
//全局模式下,就不須要用shell開頭了。
//require('shelljs/global');

if (shell.exec('npm run build').code !== 0) {//執行npm run build 命令
  shell.echo('Error: Git commit failed');
  shell.exit(1);
}

//因爲個人用另一個倉庫存放dist目錄,因此這裏要將文件增量複製到目標目錄。並切換到對應目錄。
shell.cp ('-r', './dist/*', '../../Rychou');
shell.cd('../../Rychou');

shell.exec('git add .');
shell.exec("git commit -m 'autocommit'")
shell.exec('git push')

這時在根目錄下執行node shell.js就能夠了shell

這裏只是最簡單的使用案例。npm

4、再讓它更方便些

package.json中加入:json

"script":{
+    "push":"node ./shell.js"
}

在根目錄下執行npm run push就搞定了。ui

參考連接: Shelljs
相關文章
相關標籤/搜索