我的编程空间,编程开发者的网络收藏夹
学习永远不晚

利用nodejs监控文件变化并使用sftp上传到服务器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

利用nodejs监控文件变化并使用sftp上传到服务器

最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器)

然后因为经常要改动,而且又要放到服务器上进行测试。总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下,直接写个能检测文件变化并自动进行上传的脚本好了。

首先,我们使用npm 安装两个别人封装好的模块。


npm install ssh2-sftp-client
npm install gaze

第一个模块的作用是sftp上传文件,

第二个模块的作用就是监听文件变化了。当然,你也可以采用node自带fs模块。

这两个模块的用法在这里:ssh2-sftp-client gaze

安装好了以后,第一步就是监听文件的变化了,由于我的文件已经使用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一下

查看图片

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

查看图片

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

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

以上所述是小编给大家介绍的利用nodejs监控文件变化并使用sftp上传到服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

利用nodejs监控文件变化并使用sftp上传到服务器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

利用nodejs监控文件变化并使用sftp上传到服务器

最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试。总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下,直接写个能检测文件变化并自动进行上传的
2022-06-04

Android中怎么利用OkHttp上传文件到服务器

Android中怎么利用OkHttp上传文件到服务器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、编写服务器端在上一讲服务器下新建UploadFileServlet,代
2023-05-31

如何使用安全的文件传输协议(SFTP)保护CentOS服务器上的文件传输

SFTP是一种加密协议,能够安全地传输文件。本文指导您在CentOS服务器上配置SFTP,包括安装OpenSSH、启用SFTP子系统、创建SFTP用户和配置SFTP访问权限。此外,还提供了使用SFTP客户端连接到服务器和实施额外安全措施(如公钥认证和端口转发)的指南。通过遵循这些步骤,您可以有效保护文件传输并降低敏感数据泄露的风险。
如何使用安全的文件传输协议(SFTP)保护CentOS服务器上的文件传输
2024-04-13

如何使用安全的文件传输协议(SFTP)保护CentOS服务器上的文件传输

要在CentOS服务器上使用安全的文件传输协议(SFTP)来保护文件传输,需要执行以下步骤:1. 安装OpenSSH服务器:```shellsudo yum install openssh-server```2. 启动OpenSSH服务器并
2023-10-09

JSch中怎么使用sftp协议实现服务器文件上传下载

这篇文章主要介绍了JSch中怎么使用sftp协议实现服务器文件上传下载的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JSch中怎么使用sftp协议实现服务器文件上传下载文章都会有所收获,下面我们一起来看看吧。J
2023-06-29

如何使用阿里云FTP上传文件到服务器

阿里云FTP是阿里云提供的文件传输协议服务,用户可以通过FTP协议,将本地文件上传到阿里云服务器,或者从阿里云服务器下载文件到本地。本文将详细介绍一下如何使用阿里云FTP上传文件到服务器。步骤一:注册和登录阿里云账号首先,你需要在阿里云官网上注册一个账号,然后登录你的账号。如果你已经有阿里云账号,可以直接跳过这一
如何使用阿里云FTP上传文件到服务器
2023-11-18

【使用nginx部署到服务器后,文件上传提示405】

项目场景: 使用ElementUI的文件上传组件(前端vue3、后端springboot),本地能正常上传到后台。但是使用nginx部署到服务器后,本地访问服务器地址,上传文件提示:405 Not Allowed: 原因分析: 查了
2023-08-18

怎么在Vue中使用ElementUI将excel文件上传到服务器

今天就跟大家聊聊有关怎么在Vue中使用ElementUI将excel文件上传到服务器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体需求场景如下:选择excel文件后,需要把导入的
2023-06-15

elementUI使用el-upload上传文件写法及避坑总结(上传图片/视频到本地/服务器及回显+删除)

upload上传是前端开发很常用的一个功能,下面这篇文章主要给大家介绍了关于elementUI使用el-upload上传文件写法及避坑的相关资料,包括上传图片/视频到本地/服务器及回显+删除,需要的朋友可以参考下
2023-03-08

编程热搜

目录