通过咕噜在现场服务器上运行量angular器

我正在尝试通过一个咕task任务在live-server上运行我的portractortesting。 我已经安装了live-server( https://www.npmjs.com/package/live-server )和grunt-execute。 随着grunt执行我设法启动实时服务器与grunt命令分两步:

首先我创build了一个节点脚本(liveServer.js)

var liveServer = require("live-server"); var params = { port: 8080, host: "localhost", open: true, wait: 1000 }; liveServer.start(params); 

第二我在我的grunt文件中创build一个任务来启动脚本:(在grunt.initConfig中)

 execute: { liveserver: { src: ['liveServer.js'] }, } 

并注册一个命令来触发它:

 grunt.registerTask('live', [ 'execute:liveserver' ]); 

现在,如果我在我的命令行运行服务器启动时运行“grunt live”,打开一个浏览器,并且可以浏览我的应用程序。

我也在我的grunt文件中创build了一个量angular器任务,工作也很好。
(在grunt.initConfig中)

 protractor: { options: { keepAlive: false, noColor: false }, e2e: { options: { configFile: 'protractor.conf.js', } } }, 

如果我用注册的任务触发它,量angular器testing运行得很好,只有我必须确保live-server先运行。 所以当然我想把两者合在一起,启动live-server,然后运行我的量angular器testing。 所以我试了一下:

 grunt.registerTask('runProtractor', [ 'execute:liveserver', 'protractor' ]); 

但不幸的是,这不起作用,活服务器启动,然后…没有任何反应,量angular器testing不运行。 我试图改变一些活的服务器参数,如打开和等待,但没有任何运气。 也没有错误消息。

正如我之前所说的,任务工作都很好(有两个命令窗口,首先启动live-server在一个,然后量angular器在另一个)

有没有人有线索,为什么我的现场服务器启动后不能继续?

现场服务器的执行会阻塞所有后续任务,因为它没有“完成”,即咕the任务仍在运行,这就是为什么它不会继续下一个任务。 您可以使用grunt-concurrent并行运行任务。