grunt ftp_push 有多个目的地

grunt ftp_push with more than one destination

我正在使用 grunt-ftp-push 将我的文件上传到服务器。

我正在尝试注册两个不同的任务 - BuildPushDevBuildPush,所以我尝试了这个:

   ftp_push: {
        dev:{
            your_target: {
                options: {
                    username: "xxx",
                    password: "yyy",
                    host: "server.com",
                    dest: '/site/wwwroot/dev/assets/'
                },
                files: [
                    {
                        expand: true,
                        cwd: 'dist/assets',                            
                    }
                ]
            }
        },
        prod: {
            your_target: {
                 options: {
                    username: "xxx",
                    password: "yyy",
                    host: "server.com",
                    dest: '/site/wwwroot/dev/assets/'                     
                },
                files: [
                    {
                        expand: true,
                        cwd: 'dist/assets',                            
                    }
                ]
            }

        }
    }

grunt.registerTask('buildPush', [
    'build',
    'ftp_push:prod'
]);
grunt.registerTask('buildPushDev', [
    'build',
    'ftp_push:dev'
]);

但它不起作用:我收到 You did not specify all the requirements 错误。

我做错了什么 - 或者我可以使用哪些替代方法在这里注册不同的任务?

您的目标定义重复 - 不需要 your_target 密钥。 devprod 你的目标。

只需删除它,然后 "pull" 剩下的:

ftp_push: {
  dev:{
    options: {
      username: "xxx",
      password: "yyy",
      host: "server.com",
      dest: '/site/wwwroot/dev/assets/'
    },
    files: [
      {
        expand: true,
        cwd: 'dist/assets',                            
      }
    ]
  },
  prod: {
    options: {
      username: "xxx",
      password: "yyy",
      host: "server.com",
      dest: '/site/wwwroot/dev/assets/'                     
    },
    files: [
      {
        expand: true,
        cwd: 'dist/assets',                            
      }
    ]
  }
}