使用不同的属性定义两次相同的Grunt任务

时间:2015-07-21 08:01:45

标签: javascript node.js gruntjs

我使用Grunt来运行Nightwatch测试。我创建了一个Grunt任务,用于运行在运行测试之前运行的快速代理服务器。然后我首先注册了一个运行此代理的任务,之后执行Nightwatch测试。现在我想注册第二个运行不同快速服务器的Grunt任务,然后执行夜班测试。如何定义第二个快递任务?这是我的明确任务:

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']);

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

2 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

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

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

答案 1 :(得分:0)

你可以这样做:

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']);