使用mac的朋友不知道有沒有遇到過溯警,windows下ftp復(fù)制黏貼毫無壓力戈抄,可在mac下就只能讀不能做其他操作。對于只使用ftp的后臺來說扰楼,只能前端打包好后給予后臺發(fā)布呀癣,或者上傳代碼讓后臺打包自己發(fā)布,但兩種都不是很友好的方式弦赖,這個不友好我相信同仁的都懂项栏。
剛好我有個后臺同事做.net啥都會那種,我跟他描述了我的需求和苦惱蹬竖,然后誘導(dǎo)他幫助我們前臺寫個npm的包沼沈,可以讓我們前端在ftp協(xié)議下使用window或者mac的同事直接使用命令即可打包上傳服務(wù)器。好接下來干貨來了币厕,不做太多解釋直接上使用方式列另。
npm i ftp-cmd-upload
根目錄下新建兩個文件:
//ftp.js
const tools = require('ftp-cmd-upload');
Start();
async function Start() {
await tools.cmdTool.Run('npm run build'); //執(zhí)行打包
await tools.ftpTool.UploadFiles();//執(zhí)行上傳
}
//ftp.config
{
uploadconfig: {
uploadPath: './dist/',//你打包后的文件夾路徑
ftpConnectConfig: {
user: '用戶名',
host: '你的服務(wù)器IP',
port: 21,//默認(rèn)ftp的端口
password: '密碼',
},
remotePath: '/',//上傳到服務(wù)的目錄,ftp根目錄下直接斜杠即可
ignoreList: ['upload','update'] //每次都會刪除當(dāng)前服務(wù)目錄下的文件夾旦装,如果有不讓刪即可在次配置忽略文件夾访递,只能忽略文件夾(后續(xù)還會強(qiáng)化擴(kuò)展更新)
}
}
注意事項(xiàng):
the file is in soucefiles,jsonn5 config. Config the file, it will remove the remotePath first,and make sure the MLSD is disenable
the remotePath must start with /