English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
最近はreactを使用しています+expressで独自のツール型ウェブサイトを作成します(実は夺宝島の競り上げツールです)
そして、頻繁に変更があり、サーバー上でテストする必要があるため、webpackを使用してファイルをアップロードする手間がかかります。そのため、ファイルの変更を検出し、自動的にアップロードするスクリプトを書くことにしました。
まず、他の人が包装した2つのモジュールをnpmでインストールします。
npm install ssh2-sftp-client npm install gaze
第1つのモジュールの役割はSFTPでファイルをアップロードすることです
第2つのモジュールの役割はファイルの変更を監視することです。もちろん、nodeのfsモジュールを使用することもできます。
これらのモジュールの使い方はここに記載されています:ssh2-sftp-client gaze
インストールが完了したら、まずファイルの変更を監視するのが最初のステップです。私のファイルは既にwebpackでビルドされているので、以降はファイルの変更のみでファイルの追加はありません。したがって、ここでは'changed'を使用するだけで十分です。他の使い方は上記のリンクを参照してください。すべて同じで、少し異なります
gaze(['あなたのファイルパス/*.*','を使用して複数のフォルダーを監視することができます/app.js], function(err, watcher) { let watched = this.watched(); //ファイルの変更を監視します this.on('changed', (filepath) => { //remotePathはファイルのリモート位置です let remotePath = '';/root + filepath.substr(15; //putはアップロードするファイルの関数で、後で説明します put(filepath, remotePath); console.log(filepath + ';' was changed'); }); });
それでは、アップロードするファイルの関数を書き始めましょう
function put(localPath, remotePath){ let sftp = new Client(); sftp.connect({ ホスト: 'あなたのサーバー住所' 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 で実験してみましょう。
変更が完了し、アップロードが完了したことが確認できます。アップロードには時間がかかるため、ご耐心をお願いします。
私たちのサーバーに移動すると、最近の変更時刻が現在に更新されていることが分かります。
それでは、これから各々のアップロードを個別に行う必要はなくなりました。変更が必要な場合は、直接。このスクリプトを開くウィンドウを開き、快適にコーディングを始めましょう。
以上は、編集者が皆さんに紹介した nodejs を使用してファイルの変更を監視し、SFTP でサーバーにアップロードする方法です。皆さんに役立つことを願っています。何かご不明な点がございましたら、コメントを残してください。編集者は迅速に回答いたします。また、呐喊教程サイトのサポートに感謝しています。
声明:本稿の内容はインターネットから収集され、著作権者に帰属します。インターネットユーザーが自発的に貢献し、アップロードしたものであり、本サイトは所有権を有しておらず、人工的な編集は行われていません。著作権侵害の疑いがある場合は、メールを送信してください:notice#oldtoolbag.com(メールを送信する際には、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、本サイトは即座に侵害疑いのコンテンツを削除します。)