我在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_dir
和 to_dir
即可函数onClick
的输入。
为了做到这一点,我想以 JSON 格式创建一个输入配置文件,这样我就可以在 rsync.js 中要求该文件并仅提供输入作为函数的 src_dir
和 to_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/