欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用nodejs監(jiān)控文件變化并使用sftp上傳到服務(wù)器

 更新時間:2017年02月18日 09:03:20   作者:這名字就是霸氣  
這篇文章主要介紹了利用nodejs監(jiān)控文件變化并使用sftp上傳到服務(wù)器的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

最近在用react+express做一個自己的工具型網(wǎng)站(其實(shí)就是奪寶島搶拍器)

然后因?yàn)榻?jīng)常要改動,而且又要放到服務(wù)器上進(jìn)行測試。總是要webpack,然后手動把文件上傳上去,不勝其煩,索性搜索了下,直接寫個能檢測文件變化并自動進(jìn)行上傳的腳本好了。

首先,我們使用npm 安裝兩個別人封裝好的模塊。

npm install ssh2-sftp-client
npm install gaze

第一個模塊的作用是sftp上傳文件,

第二個模塊的作用就是監(jiān)聽文件變化了。當(dāng)然,你也可以采用node自帶fs模塊。

這兩個模塊的用法在這里:ssh2-sftp-client gaze

安裝好了以后,第一步就是監(jiān)聽文件的變化了,由于我的文件已經(jīng)使用webpack構(gòu)建好了,所以后面只是文件變化,不會有文件增加,所以這里只需要使用changed就可以了,其他的用法請參考上面的鏈接,都大同小異

gaze(['你的文件路徑/*.*','還可以使用數(shù)組的方式監(jiān)聽多個文件夾/app.js'], function(err, watcher) {
 let watched = this.watched();
 //監(jiān)聽文件的變化
 this.on('changed', (filepath) => {
 //romotePath是我文件的遠(yuǎn)程位置
 let romotePath = '/root' + filepath.substr(15);
 //put為上傳文件的函數(shù),下面會講 
 put(filepath,romotePath);
 console.log(filepath + ' was changed');
 });
}); 

然后就開始寫我們的上傳文件的函數(shù)

function put(localPath,romotePath){
 let sftp = new Client();
 sftp.connect({
 host: '你的服務(wù)器地址',
 port: '端口,沒改過的話是22',
 username: '連接的用戶名',
 password: '密碼'
 }).then(() => {
 return sftp.put(localPath,romotePath);
 }).then(() =>{
 console.log("上傳完成");
 }).catch((err) => {
 console.log(err, 'catch error');
 });
}

好了,別忘了在我們的文件開始的地方可是要引入模塊的。

let Client = require('ssh2-sftp-client');
let gaze = require('gaze');

接下來我們來實(shí)驗(yàn)一下。來到我們的文件夾webpack一下

果然可以看到已經(jīng)修改并且上傳完成了。上傳需要時間,請耐心等待。

來到我們的服務(wù)器,果然最近的修改時間已經(jīng)變成現(xiàn)在了。

從此以后我終于不用一個個上傳了。每次要修改直接。打開一個窗口開啟這個腳本,就可以愉快的編碼了。

以上所述是小編給大家介紹的利用nodejs監(jiān)控文件變化并使用sftp上傳到服務(wù)器,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Node.js刷新session過期時間的實(shí)現(xiàn)方法推薦

    Node.js刷新session過期時間的實(shí)現(xiàn)方法推薦

    下面小編就為大家?guī)硪黄狽ode.js刷新session過期時間的實(shí)現(xiàn)方法推薦。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • NodeJs版本過高無法啟動Vue項(xiàng)目報錯的幾種解決方法

    NodeJs版本過高無法啟動Vue項(xiàng)目報錯的幾種解決方法

    在開發(fā)vue項(xiàng)目時,我們通常使用nodejs作為項(xiàng)目的運(yùn)行環(huán)境,但是有時候,由于nodejs版本過高,可能會導(dǎo)致vue項(xiàng)目啟動報錯,這篇文章主要給大家介紹了關(guān)于NodeJs版本過高無法啟動Vue項(xiàng)目報錯的幾種解決方法,需要的朋友可以參考下
    2023-12-12
  • IDEA中配置運(yùn)行node.js的完整過程

    IDEA中配置運(yùn)行node.js的完整過程

    為了使在終端使用npm,我們可以配置環(huán)境變量,這篇文章主要給大家介紹了關(guān)于IDEA中配置運(yùn)行node.js的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Nodejs讓異步變成同步的方法

    Nodejs讓異步變成同步的方法

    今天小編就為大家分享一篇關(guān)于Nodejs讓異步變成同步的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • nodejs 使用http進(jìn)行post或get請求的實(shí)例(攜帶cookie)

    nodejs 使用http進(jìn)行post或get請求的實(shí)例(攜帶cookie)

    今天小編就為大家分享一篇nodejs 使用http進(jìn)行post或get請求的實(shí)例(攜帶cookie),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • nodejs加密Crypto的實(shí)例代碼

    nodejs加密Crypto的實(shí)例代碼

    下面小編就為大家?guī)硪黄猲odejs加密Crypto的實(shí)例代碼。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 一些可能會用到的Node.js面試題

    一些可能會用到的Node.js面試題

    這篇文章主要介紹了一些可能會用到的Node.js面試題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • koa中間件核心(koa-compose)源碼解讀分析

    koa中間件核心(koa-compose)源碼解讀分析

    這篇文章主要介紹了koa中間件核心(koa-compose)源碼解讀分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Node.js打包管理工具NPM用法

    Node.js打包管理工具NPM用法

    這篇文章介紹了Node.js打包管理工具NPM的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • nodejs實(shí)現(xiàn)的連接MySQL數(shù)據(jù)庫功能示例

    nodejs實(shí)現(xiàn)的連接MySQL數(shù)據(jù)庫功能示例

    這篇文章主要介紹了nodejs實(shí)現(xiàn)的連接MySQL數(shù)據(jù)庫功能,結(jié)合實(shí)例形式分析了nodejs連接及查詢mysql數(shù)據(jù)的相關(guān)操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01

最新評論