如何为要使用的函数创建输入配置文件?

时间:2017-08-08 10:38:21

标签: javascript arrays loops

我在 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来为函数{{}提供输入。 1}}。

为了做到这一点,我想以JSON格式制作一个输入配置文件,这样我就可以在 rsync.js 中要求它,并且只提供输入作为onClicksrc_dir的函数,它适用于其中的3个。

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

问题2 :如何为函数to_dir提供输入? 例如:onClick

Try1: 我已经为源和目标创建了一个数组列表。 现在我想迭代它,但无法做到。

config.js

var onClick = function(src_dir= "", to_dir= ""){}

1 个答案:

答案 0 :(得分:1)

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)
}