用不同的属性定义同一个Grunt Task两次

Define the same Grunt Task twice with different properties

本文关键字:同一个 Grunt Task 两次 定义 属性      更新时间:2023-09-26

我使用Grunt运行Nightwatch测试。我已经创建了一个Grunt任务,用于运行在运行测试之前运行的快速代理服务器。然后,我注册了一个任务,首先运行这个代理,然后执行Nightwatch测试。现在我想注册第二个Grunt任务,该任务运行另一个express服务器,然后执行夜巡测试。如何定义第二个快速任务?这是我的快递任务:

express: {
      options: {
          // Override defaults here
      },
      dev: {
          options: {
              script: 'server/server.js'
          }
      }
  },

我像这样开始:

grunt.registerTask('testnightwatch', [ 'express:dev' , 'nightwatch']);

我需要这样的东西:

express2: {
      options: {
          // Override defaults here
      },
      dev: {
          options: {
              script: 'server/server2.js'
          }
      }
  },
grunt.registerTask('testnightwatch', [ 'express2:dev' , 'nightwatch']);

但这不起作用…有人知道怎么做吗?

你可以这样做:

express: {
      options: {
          // Override defaults here
      },
      dev1: {
          options: {
              script: 'server/server.js'
          }
      },
      dev2: {
          options: {
              script: 'server/server2.js'
          }
      }
  },

并像这样开始

grunt.registerTask('testnightwatch1', [ 'express:dev1' , 'nightwatch']);

grunt.registerTask('testnightwatch2', [ 'express:dev2' , 'nightwatch']);

我想你可以这样做:

express: {
    express1 : {
        options: {},
        dev: {}
    },
    express2 : {
        options: {},
        dev: {}
    }
}

但是你必须检查你的任务是否支持多任务。