【问题标题】:Define the same Grunt Task twice with different properties用不同的属性定义相同的 Grunt 任务两次
【发布时间】:2015-07-21 16:27:58
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript node.js gruntjs


【解决方案1】:

你可以这样做:

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

【讨论】:

  • 这就是grunt-express-server 的建议。你能用完全相同的配置再试一次吗?否则你可能想在他们的 github repo 上提出问题。
【解决方案2】:

我认为你可以这样做:

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

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

【讨论】:

  • 能否请您准确地写下我如何开始一项快速任务?我并没有真正从 grunt 文档中得到它。
  • 你可以尝试类似的方法:grunt.registerTask('default', 'express:express1');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多