現在前端項目都是用建構工具寫的,比如vue-cli,create-react-app,dva-cli等,打包完每次都要把檔案複制到伺服器,要是後期甲方爸爸不做修改還好,要是每天給你提一個這裡加個圖檔,那裡改下樣式的,每次都是npm run build,然後打開伺服器,上傳。。。很累,也很煩。
其實像以上那種建構工具生成的項目裡可以再搭配gulp一起使用,實作打包好項目後自動上傳至伺服器,
先安裝2個依賴包:
npm install gulp gulp-sftp --save-dev
然後在項目根目錄下建立gulpfile.js檔案(gulp的預設入口檔案)
var gulp = require('gulp');
var sftp = require('gulp-sftp');
gulp.task('server', function () {
return gulp.src('./dist*')
.pipe(sftp({
host: '192.168.1.111',
port:22,
user: 'root',
pass: '123456',
remotePath:'/var/cjy/home'
}));
});
如上,配置一個簡單的任務,任務配置參數自行百度gulp-sftp這個插件,文檔寫的很詳細了。
之後再在package.json裡面配置一條指令"upload": "node build/build.js && gulp"
"scripts": {
...,
"server": "roadhog build && gulp server"
},
如上,這樣如果想打包上傳直接npm run upload就好了。
注:gulp4.0需要更換gulp-sftp-up4這個插件