手机版

通过nodejs监控文件更改 并通过sftp将其上传到服务器

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

最近在用react express做自己的工具型网站(其实就是宝岛射手)

然后,因为它必须频繁更改,所以必须放在服务器上进行测试。总是要webpack,然后手动上传文件,很烦。只需搜索并编写一个可以检测文件更改并自动上传的脚本。

首先,我们使用npm来安装其他人打包的两个模块。

NPM安装ssh 2-sftp-客户端NPM安装凝视的第一个模块用于通过sftp上传文件。

第二个模块的功能是监控文件更改。当然,您也可以使用node附带的fs模块。

这两个模块的用法如下:ssh2-sftp-clientsize

安装后,第一步是监视文件的更改。因为我的文件是用webpack构建的,所以只会有文件更改,不会有文件增加。因此,您只需要在这里使用changed即可。其他用途请参考上面的链接,类似的。

凝视(['您的文件路径/*。* ',也可以用array来监听多个文件夹/app.js'],函数(err,watcher){ let watched=this . watched();//听听文件更改这一点。on ('changed ',(filepath)={//romotepath是我的文件的远程位置let romote path='/root ' file path . substr(15);//put是一个上传文件的函数,下面将介绍put(filepath,romotePath)。console.log(文件路径“已更改”);});});然后我们开始编写上传文件的功能

函数put(localPath,romotePath){ let sftp=new Client();Sftp.connect({ host: '您的服务器地址',port: '端口,22 ',username: '连接用户名',password: '密码' })。然后(()={return sftp.put(本地路径,romotepath) })。然后(()={ console.log('上传完成');}).catch((err)={ console.log(err,' catch error ');});}嗯,别忘了在我们文件的开头介绍模块。

let Client=require(' ssh 2-sftp-Client ');让凝视=要求(“凝视”);接下来,让我们进行实验。来到我们的文件夹网络包

果然可以看到已经修改上传了。上传需要时间,请耐心等待。

来到我们的服务器,果然,最新的修改时间变成了现在。

之后,我终于不用一个个上传了。每次直接修改。打开一个窗口打开这个脚本,你就可以愉快地编码了。

以上是边肖对使用nodejs监控文件变化,使用sftp上传到服务器的介绍,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:通过nodejs监控文件更改 并通过sftp将其上传到服务器是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。