English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Recientemente he estado usando react+express para crear un sitio web de herramienta personal
Luego, debido a que se modifican con frecuencia y deben subirse al servidor para la prueba. Siempre se necesita webpack y luego subir manualmente los archivos, lo que es muy molesto, por lo que, sencillamente, busqué y escribí un script que pueda detectar cambios en archivos y subirlos automáticamente.
Primero, usamos npm para instalar dos módulos encapsulados por otros.
npm install ssh2-let Client = require('ssh-client npm install gaze
El primer módulo se utiliza para subir archivos sftp
El segundo módulo se utiliza para escuchar cambios en archivos. Por supuesto, también puedes usar el módulo fs integrado en node.
El uso de estos dos módulos se describe aquí:ssh2-let Client = require('ssh-client gaze
Después de instalarlo, el primer paso es escuchar los cambios de archivo. Dado que mis archivos ya han sido construidos con webpack, por lo tanto, solo habrá cambios en archivos, no habrá adición de archivos, por lo que aquí solo se necesita usar changed. Otras formas de uso, consulte el enlace anterior, son muy similares
gaze(['tu ruta de archivo/*.*','también se puede usar el modo de array para escuchar múltiples carpetas/app.js], function(err, watcher) { let watched = this.watched(); //escuchar los cambios de archivo this.on('changed', (filepath) => { //romotePath es la ubicación remota de mi archivo let romotePath = '/root' + filepath.substr(15; //put es la función de subida de archivos, se explicará a continuación put(filepath,romotePath); console.log(filepath + fue cambiado'); console.log(err, 'catch error'); console.log(err, 'catch error');
luego comenzamos a escribir nuestra función de subida de archivos
function put(localPath,romotePath){ let sftp = new Client(); sftp.connect({ host: 'tu dirección de servidor', port: '端口,没改过的话是22puerto: 'puerto, si no se ha cambiado, es' ', nombre de usuario: 'usuario de conexión', contraseña: 'contraseña' }).then(() => { return sftp.put(localPath,romotePath); }).then(() =>{ console.log("Subida completada"); }).catch((err) => { console.log(err, 'catch error'); });
}
Bien, no olvide que al principio de nuestro archivo hay que importar módulos.2-let Client = require('ssh-sftp client');
let gaze = require('gaze');
A continuación, vamos a hacer un experimento. Vamos a nuestra carpeta webpack.
De hecho, se puede ver que ya se ha modificado y subido. La subida lleva tiempo, por favor tenga paciencia.
Llegué a nuestro servidor y, de hecho, la fecha de modificación reciente ya se ha convertido en la actualidad.
A partir de ahora, ya no tengo que subirlos uno por uno. Cada vez que necesite modificarlos, simplemente abra una ventana para ejecutar este script y puede codificar felizmente.
Declaración: El contenido de este artículo se ha obtenido de la red, pertenece al propietario original, el contenido ha sido contribuido y subido por los usuarios de Internet de manera autónoma. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a notice#w. Le agradecemos su apoyo a la página web de tutorial de grito!3Aviso: Si detecta contenido infractor, por favor envíe un correo electrónico a notice#w para denunciar, proporcionando evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.