我有一个Grunt任务,可以在webserver上自动部署我的webapp。 在我的网络服务器上,我有3条路径:
我有package.json
个文件
{
...
"ftpDeployPath":"myApp_rc" //or /www/myApp
...
}
这是我的任务
{'ftp-deploy': {
toMyServer: {
auth: {
host: '10.7.88.87',
port: 21,
authKey: 'key1'
},
src: 'deploy',
dest: '<%= pkg.ftpDeployPath %>',
forceVerbose: true
}
}
}
当我想要部署时,每次我必须检查并最终编辑package.json
文件。
有没有办法显示提示(bu grunt控制台)以允许我选择正确的部署路径?
答案 0 :(得分:1)
您可以尝试使用grunt-prompt任务&#39;输入&#39;问题类型和你的&#34; ftpDeployPath&#34; as&#39; config&#39;。或者,修改您的gruntfile以使用命令行选项(http://gruntjs.com/frequently-asked-questions#dynamic-alias-tasks)并将您的任务作为外部工具从WebStorm(设置|工具|外部工具)运行 - 您可以将$ Prompt $ macro添加到工具参数以获取提示运行工具时的选项值
答案 1 :(得分:0)
使用命令行参数和自定义任务的组合,您可以在运行任务之前修改任务的配置。首先,通过修改dist
的模板字符串开始;更改它以访问名为grunt.option()
的{{1}}参数,我们的自定义任务将设置:
deployPath
接下来,制作一个设置grunt.initConfig({
'ftp-deploy': {
toMyServer: {
auth: {
host: '10.7.88.87',
port: 21,
authKey: 'key1'
},
src: 'deploy',
dest: '<%= grunt.option('deployPath') %>',
forceVerbose: true
}
}
});
参数的自定义任务。运行grunt.option('deployPath')
时,以下任务会将deployPath设置为myApp
。如果仅运行grunt deploy:prod
,则路径设置为grunt deploy
。选择路径后,自定义然后调用myApp_rc
任务:
ftp-deploy