繁体   English   中英

如何使输入配置文件供功能使用?

[英]How to make an input config file for the function to use?

我在rsync.js中有一个功能

rsync.js

var onClick = function(){
      exec('rsync -avz -e "ssh -o StrictHostKeyChecking=no -o\ UserKnownHostsFile = /dev/null" --progress' + src_dir + to_dir,\ 
function(error,stdout,stderr){
console.log('stdout:',stdout)}  )      
}

假设我想为系统中存在的3个不同目录运行以上代码,因此,我只需要更改src_dirto_dir即可为onClick函数提供输入。

为了做到这一点,我想以JSON格式制作一个输入配置文件 ,以便可以在rsync.js中要求它,并仅将输入作为src_dirto_dir给该函数,并且该函数可用于其中的3个。

问题1 :如何迭代config.js文件中的数组列表?

Question2 :如何为onClick函数提供输入? 例如: var onClick = function(src_dir= "", to_dir= ""){}

Try1:我已经列出了源和目标数组的列表。 现在,我想对其进行迭代,但是无法做到这一点。

config.js

module.exports = { 

    src: [
        { src_dir: '/path/to/source/dir/', to_dir : '/path/to/remote/dir'},
             //rest array elements.
        ]
   }
var onClick = function(src_dir, to_dir){ // expect 2 paramteres for the onClick function (src,to)
    exec('rsync -avz -e "ssh -o StrictHostKeyChecking=no -o\ UserKnownHostsFile = /dev/null" --progress' + src_dir + to_dir, function(error,stdout,stderr){
        console.log('stdout:',stdout)
    })      
}

// Load config
var config = require('config.js');

// Iterate through all elements in config.src
for(var i=0;i<config.src.length;i++){
    onClick(config.src[i].src_dir,config.src[i].to_dir)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM