我的Gruntfile中有一个任务,它通过ftp将更改的文件推送到我的服务器。这些任务都使用相同的身份验证,我想删除所有重复的#34; auth"零件并定义一次。
当前工作版本(包含大量重复项)看起来像这样(为了便于阅读而缩短):
ftpush: {
css_prod: {
auth: {
host: 'xxx.xx.xx.x',
port: 21,
authKey: 'authKey'
},
src: '<%= dirs.dev_css_build %>',
dest: '<%= dirs.prod_css %>',
simple: true,
useList: false
},
css_wordpress: {
auth: {
host: 'xxx.xx.xx.x',
port: 21,
authKey: 'authKey'
},
src: '<%= dirs.dev_css %>/style.css',
dest: '<%= dirs.prod_theme_current %>',
simple: true,
useList: false
},
js_standalone: {
auth: {
host: 'xxx.xx.xx.x',
port: 21,
authKey: 'authKey'
},
src: '<%= dirs.dev_js_standalone %>',
dest: '<%= dirs.prod_js_standalone %>',
simple: false,
useList: false
}
}
我已尝试定义&#34; auth&#34;参与&#34;选项&#34;区域,如:
ftpush: {
options: {
auth: {
host: 'xxx.xx.xx.x',
port: 21,
authKey: 'authKey'
}
},
css_prod: {
src: '<%= dirs.dev_css_build %>',
dest: '<%= dirs.prod_css %>',
simple: true,
useList: false
},
css_wordpress: {
src: '<%= dirs.dev_css %>/style.css',
dest: '<%= dirs.prod_theme_current %>',
simple: true,
useList: false
},
js_standalone: {
src: '<%= dirs.dev_js_standalone %>',
dest: '<%= dirs.prod_js_standalone %>',
simple: false,
useList: false
}
}
但这不起作用。我怎样才能做到这一点?
答案 0 :(得分:0)
不是一个完美的解决方案,但您可以使用grunt配置模板来引用仅在一个地方定义的实际值。
例如,您可以尝试让第二个解决方案为每个“真实”部分添加下一行:
auth: '<%= ftpush.options.auth %>'
这样,auth部分将插入所有子部分。