Heim > Web-Frontend > js-Tutorial > Hauptteil

Verwenden Sie nodejs, um Dateiänderungen zu überwachen und über SFTP auf den Server hochzuladen

高洛峰
Freigeben: 2017-02-20 16:52:46
Original
1910 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Methode zur Verwendung von NodeJS zum Überwachen von Dateiänderungen und zum Hochladen von SFTP auf den Server vor. Er ist sehr gut und hat Referenzwert.

Kürzlich bin ich dabei Ich verwende dazu React+Express (eigentlich ein Schatzsucher-Inselschnapper)

Da es dann häufig geändert werden muss, muss es auch zum Testen auf den Server gestellt werden. Ich muss immer Webpack verwenden und die Dateien manuell hochladen, was sehr nervig ist. Also habe ich einfach gesucht und ein Skript geschrieben, das Dateiänderungen erkennen und automatisch hochladen kann.

Zuerst verwenden wir npm, um zwei von anderen gepackte Module zu installieren.


npm install ssh2-sftp-client
npm install gaze
Nach dem Login kopieren


Die Funktion des ersten Moduls besteht darin, Dateien über SFTP hochzuladen.

Die Funktion des zweites Modul Überwachen Sie einfach Dateiänderungen. Natürlich können Sie auch das mit node gelieferte fs-Modul verwenden.

Die Verwendung dieser beiden Module ist hier: ssh2-sftp-client gaze

Nach der Installation besteht der erste Schritt darin, Dateiänderungen zu überwachen, da meine Datei mit Webpack erstellt wurde. Okay, also Es werden nur Dateiänderungen vorgenommen, es werden keine Dateien hinzugefügt, daher müssen Sie hier nur „geändert“ verwenden. Weitere Verwendungszwecke finden Sie unter dem Link oben. Sie sind alle ähnlich


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');
 });
});
Nach dem Login kopieren


Dann beginnen Sie mit dem Schreiben unserer Funktion zum Hochladen von Dateien


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');
 });
}
Nach dem Login kopieren


Okay , vergessen Sie nicht, das Modul am Anfang unserer Datei einzuführen.


let Client = require('ssh2-sftp-client');
let gaze = require('gaze');
Nach dem Login kopieren


Als nächstes lasst uns experimentieren. Gehen Sie zu unserem Webpack-Ordner

Verwenden Sie nodejs, um Dateiänderungen zu überwachen und über SFTP auf den Server hochzuladen

und Sie können sehen, dass es geändert und hochgeladen wurde. Das Hochladen nimmt Zeit in Anspruch, bitte haben Sie etwas Geduld.

Verwenden Sie nodejs, um Dateiänderungen zu überwachen und über SFTP auf den Server hochzuladen

Kam auf unseren Server und tatsächlich ist jetzt die letzte Änderungszeit.

Ab jetzt muss ich sie endlich nicht mehr einzeln hochladen. Jedes Mal, wenn Sie es direkt ändern möchten. Öffnen Sie ein Fenster, um dieses Skript zu starten, und Sie können problemlos programmieren.

Das Obige stellt Ihnen der Herausgeber vor: Verwendung von NodeJS zum Überwachen von Dateiänderungen und Verwendung von SFTP zum Hochladen auf den Server. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere verwandte Artikel zur Verwendung von NodeJS zum Überwachen von Dateiänderungen und zum Hochladen auf den Server mithilfe von SFTP finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!