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

标签 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 即可函数onClick的输入。

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

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

问题2:如何向函数onClick提供输入? 例如:var onClick = function(src_dir= "", to_dir= ""){}

尝试1: 我已经制作了源和目标数组的列表。 现在我想迭代它,但无法做到。

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

关于javascript - 如何为要使用的函数创建输入配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45566083/

相关文章:

python - 计算非唯一数组元素的顺序

Python 追加到 ndarray

c - 循环链表——无限循环

javascript - 将富消息集成到 Dialogflow 实现中

javascript - 使用 WebAudioApi 在 Javascript 中对音频 PCM 数据进行上采样

javascript - 使用 Promise.all 执行数组中的 promise 会破坏它们

javascript - 如何根据 Vue 中的 select 更改输入的占位符

arrays - 如何使用 for 循环在 Swift 中添加 3D 数组中的元素

java - 如何在Java中循环使用多线程

python - 计算字符串中最小长度的唯一单词