全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用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上传到服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# nodejs  # 服务器监控  # sftp服务器  # node ftp上传文件夹到服务器案例详解  # Node交互式的SFTP上传实现过程剖析  # node.js自动上传ftp的脚本分享  # node.js express框架实现文件上传与下载功能实例详解  # NodeJs实现简易WEB上传下载服务器  # nodejs multer实现文件上传与下载  # nodejs+express实现文件上传下载管理网站  # nodejs连接ftp上传下载实现方法详解【附:踩坑记录】  # 好了  # 上传  # 上传文件  # 小编  # 就可以  # 自己的  # 在这里  # 会有  # 不胜其烦  # 还可以  # 第一个  # 多个  # 在此  # 其他的  # 这两个  # 第二个  # 宝岛  # 给大家  # 又要  # 可以看到 


相关文章: 建站之星伪静态规则如何设置?  如何快速查询域名建站关键信息?  建站之星代理如何获取技术支持?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  建站之星官网登录失败?如何快速解决?  如何通过虚拟机搭建网站?详细步骤解析  如何选择高性价比服务器搭建个人网站?  网站制作难吗安全吗,做一个网站需要多久时间?  小型网站制作HTML,*游戏网站怎么搭建?  如何在Ubuntu系统下快速搭建WordPress个人网站?  宝塔建站后网页无法访问如何解决?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  代购小票制作网站有哪些,购物小票的简要说明?  如何在西部数码注册域名并快速搭建网站?  定制建站流程步骤详解:一站式方案设计与开发指南  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何用景安虚拟主机手机版绑定域名建站?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何用wdcp快速搭建高效网站?  如何快速生成专业多端适配建站电话?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  制作宣传网站的软件,小红书可以宣传网站吗?  电商网站制作公司有哪些,1688网是什么意思?  建站之星Pro快速搭建教程:模板选择与功能配置指南  建站主机数据库如何配置才能提升网站性能?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何通过服务器快速搭建网站?完整步骤解析  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何通过云梦建站系统实现SEO快速优化?  如何自定义建站之星网站的导航菜单样式?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何用y主机助手快速搭建网站?  建站之星好吗?新手能否轻松上手建站?  建站主机选购指南:核心配置与性价比推荐解析  如何解决VPS建站LNMP环境配置常见问题?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  ,怎么在广州志愿者网站注册?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  香港服务器WordPress建站指南:SEO优化与高效部署策略  外贸公司网站制作,外贸网站建设一般有哪些步骤?  网站制作软件有哪些,制图软件有哪些?  建站之星安装提示数据库无法连接如何解决?  制作网站外包平台,自动化接单网站有哪些?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何零基础在云服务器搭建WordPress站点?  如何通过cPanel快速搭建网站?  ,购物网站怎么盈利呢?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。