• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 利用nodejs监控文件变化并使用sftp上传到服务器

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

作者:这名字就是霸气 字体:[增加 减小] 来源:互联网 时间:2017-05-11

这名字就是霸气通过本文主要向大家介绍了nodejs 文件服务器,sftp上传文件,java sftp下载文件,sftp下载文件,sftp删除文件夹和文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

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

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

npm install ssh2-sftp-client
npm install gaze
</div>

第一个模块的作用是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');
 });
}); 
</div>

然后就开始写我们的上传文件的函数

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');
 });
}
</div>

好了,别忘了在我们的文件开始的地方可是要引入模块的。

let Client = require('ssh2-sftp-client');
let gaze = require('gaze');
</div>

接下来我们来实验一下。来到我们的文件夹webpack一下

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

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

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-11jQuery插件zTree实现的多选树效果示例
  • 2017-05-11js仿QQ邮箱收件人选择与搜索功能
  • 2017-05-11Map.vue基于百度地图组件重构笔记分享
  • 2017-05-11原生JS仿QQ阅读点击展开、收起效果
  • 2017-05-11javascript实现动态显示颜色块的报表效果
  • 2017-05-11如何快速上手Vuex
  • 2017-08-14javaScript中格式化日期毫秒数
  • 2017-05-11javascript实现多张图片左右无缝滚动效果
  • 2017-05-11JavaScript中this的用法及this在不同应用场景的作用解析
  • 2017-05-11tab栏切换原理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jquery仿苹果的时间/日期选择效果
    • Angularjs 依赖压缩及自定义过滤器写法
    • 微信小程序 摇一摇抽奖简单实例实现代码
    • jQuery实现多张图片上传预览(不经过后端处理)
    • JS遍历对象属性的方法示例
    • JavaScript严格模式详解
    • Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
    • 将鼠标焦点定位到文本框最后(代码分享)
    • 详解Vue中使用v-for语句抛出错误的解决方案
    • JavaScript判断浏览器及其版本信息

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有