nodejsを利用してファイルの変化を監視し、sftpを使ってサーバーにアップロードします.


まず、npmを使って、他の人がよく包装したモジュールを二つ取り付けます.
npm install ssh2-sftp-client
npm install gaze
最初のモジュールの役割はsftpアップロードファイルです.
二つ目のモジュールの役割はファイルの変化を監督することです.もちろん、nodeのfsモジュールを使ってもいいです.
この二つのモジュールの使い方はここです. ガゼット
インストールが完了したら、最初のステップはファイルの変化を監督することです.私のファイルはすでにwebpackを使って構築されましたので、後はファイルの変化だけで、ファイルの増加はありません.ここはchangedを使うだけでいいです.他の使い方は上のリンクを参考にしてください.全部同じです.
gaze(['      /*.*','                 /app.js'], function(err, watcher) {    let watched = this.watched();    //       
    this.on('changed', (filepath) => {        //romotePath         
        let romotePath = '/root' + filepath.substr(15);        //put        ,                put(filepath,romotePath);
        console.log(filepath + ' was changed');

    });
});
そして私たちのアップロードファイルの関数を書き始めます.
function put(localPath,romotePath){
    let sftp = new Client();
    sftp.connect({
        host: '       ',
        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');
これから実験してみましょう.私達のフォルダwebpackに来てください.
やっぱり修正してアップロードしました.アップロードに時間がかかりますので、お待ちください.
私達のサーバーに来たら、やはり最近の修正時間は今になりました.
これからはもう一人ずつアップロードしなくてもいいです.毎回直接修正します.このスクリプトを開くと、楽しいコーディングができます.