欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nodejs實現多文件夾文件同步

 更新時間:2018年10月17日 10:27:13   作者:迦藍葉  
這篇文章主要為大家介紹了Nodejs實現多文件夾文件同步,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Nodejs實現多文件夾文件同步的具體代碼,供大家參考,具體內容如下

package.json

{
 "name": "asyncFile",
 "version": "0.0.1",
 "dependencies":{
 "fs-sync":"",
 "later":""
 }
}

asycnFile.js

var fsSync = require('fs-sync');
var fs = require('fs');
var util = require("util");
var later = require("later");

//需要同步的文件夾路徑
var path = {
 "pathOne": "/home/lincoln/testAsync/dirOne/",
 "pathTwo": "/home/lincoln/testAsync/dirTwo/"
};

//需要同步的文件夾名稱
var asyncDir = ["img", "music"];

var dirFilesOne;
var dirFilesTwo;

//讀取文件夾信息
function readDir(dirName){
 dirFilesOne = fs.readdirSync(path.pathOne + dirName);
 dirFilesTwo = fs.readdirSync(path.pathTwo + dirName);
}

//使用fs-sync模塊拷貝文件信息
function useFileCopy(sourcePath,distPath,copyFiles) {
 for(var index in copyFiles){
  fsSync.copy(sourcePath+copyFiles[index],distPath+copyFiles[index])
 }
}

//統計需要同步的文件信息
function needCopyFiles(sourceFiles, distFiles) {
 var needCopyFiles = [];
 for (var index in sourceFiles) {
  if (distFiles.indexOf(sourceFiles[index]) == -1) {
   needCopyFiles.push(sourceFiles[index]);
   console.log("needAsyncFile-->"+sourceFiles[index]);
  }

 }
 return needCopyFiles;
}

//同步文件
function copyFile(dirName) {
 var sourcePath = path.pathOne + dirName +"/";
 var distPath = path.pathTwo + dirName +"/";

 readDir(dirName)
 useFileCopy(sourcePath,distPath,needCopyFiles(dirFilesOne,dirFilesTwo));

 readDir(dirName);
 useFileCopy(distPath,sourcePath,needCopyFiles(dirFilesTwo,dirFilesOne));
}

//for (var index in asyncDir) {
// //console.log(asyncDir[index])
// console.log(new Date() +" 執(zhí)行同步--->"+asyncDir[index])
// copyFile(asyncDir[index]);
//}

var sched = later.parse.recur().every(10).second(),
 t = later.setInterval(function() {
  for (var index in asyncDir) {
   //console.log(asyncDir[index])
   console.log(new Date() +" 執(zhí)行同步--->"+asyncDir[index]);
   copyFile(asyncDir[index]);
  }
 }, sched);

代碼只是能用,菜鳥寫法,等js這塊有深入理解了之后,再修改這塊的代碼,也希望js大牛指點。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • nvm安裝步驟及使用方法

    nvm安裝步驟及使用方法

    nvm是一個管理nodejs版本的工具。在實際的開發(fā)中,有些項目的開發(fā)依賴需要低版本的nodejs運行環(huán)境,有些則需要高版本的nodejs,此時我們就需要使用nvm來切換nodejs版本,接下來通過本文給大家講解nvm安裝步驟及使用方法,感興趣的朋友一起看看吧
    2023-01-01
  • 使用?Node.js和Express搭建服務器的過程步驟詳解

    使用?Node.js和Express搭建服務器的過程步驟詳解

    Node.js?是一個開源、跨平臺的?JavaScript?運行時環(huán)境,這篇文章主要介紹了如何使用?Node.js和Express搭建服務器,需要的朋友可以參考下
    2023-09-09
  • Node.js Streams文件讀寫操作詳解

    Node.js Streams文件讀寫操作詳解

    如果你在處理應用中 I/O 相關的操作,你可以利用 Node.js 中的流(stream),這篇文章主要為大家詳細介紹了Node.js Streams文件讀寫操作,感興趣的小伙伴們可以參考一下
    2016-07-07
  • node.js應用后臺守護進程管理器Forever安裝和使用實例

    node.js應用后臺守護進程管理器Forever安裝和使用實例

    這篇文章主要介紹了node.js應用后臺守護進程管理器Forever安裝和使用實例,forever可以看做是一個nodejs的守護進程,能夠啟動,停止,重啟我們的app應用,需要的朋友可以參考下
    2014-06-06
  • 一文帶你了解Node.js有哪些架構模式

    一文帶你了解Node.js有哪些架構模式

    Node.js 憑借其非阻塞、事件驅動的架構,已成為構建各種應用程序的流行選擇,使用 Node.js 進行開發(fā)時,選擇正確的架構模式來滿足項目需求至關重要,在本文中,我們將探討幾種 Node.js 架構模式并提供示例來說明它們的用法,需要的朋友可以參考下
    2023-09-09
  • nodejs利用ajax實現網頁無刷新上傳圖片實例代碼

    nodejs利用ajax實現網頁無刷新上傳圖片實例代碼

    本篇文章主要介紹了nodejs利用ajax實現網頁無刷新上傳圖片實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Nodejs核心模塊之net和http的使用詳解

    Nodejs核心模塊之net和http的使用詳解

    net和http模塊都是node核心模塊之一,他們都可以搭建自己的服務端和客戶端,以響應請求和發(fā)送請求。這篇文章主要介紹了Nodejs核心模塊之net和http的使用詳解,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Thinkjs3新手入門之添加一個新的頁面

    Thinkjs3新手入門之添加一個新的頁面

    Thinkjs 是一個快速、簡單的基于MVC和面向對象的輕量級Node.js開發(fā)框架,下面這篇文章主要給大家介紹了關于Thinkjs3新手入門之添加一個新的頁面的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • 詳解基于Koa2開發(fā)微信二維碼掃碼支付相關流程

    詳解基于Koa2開發(fā)微信二維碼掃碼支付相關流程

    這篇文章主要介紹了詳解基于Koa2開發(fā)微信二維碼掃碼支付相關流程,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • NodeJS使用遞歸算法和遍歷算法來遍歷目錄的方法

    NodeJS使用遞歸算法和遍歷算法來遍歷目錄的方法

    遍歷目錄是操作文件時的一個常見需求,比如寫一個程序,需要找到并處理指定目錄下的所有JS文件時,就需要遍歷整個目錄,NodeJS遍歷目錄可以使用遞歸算法、遍歷算法,遍歷算法又分為同步遍歷、異步遍歷兩種,本文介紹NodeJS使用遞歸算法和遍歷算法來遍歷目錄的方法
    2023-11-11

最新評論