我不太了解两者之间的区别。从描述来看,似乎两者都是用于打开网络服务器。
如果我在gruntfile.js上使用了具有以下配置的grunt-serve插件
serve: {
options: {
port: 9000
}
}
我可以在指定端口打开网络服务器,但我必须在浏览器上手动打开网络服务器(不知道如何在默认浏览器上自动打开它)。 Web服务器运行正常,可以毫无问题地加载JSON文件。
然而,当我尝试使用grunt connect插件时,使用以下配置
connect: {
server: {
options: {
port: 9000,
livereload: 35729,
hostname: 'localhost',
keepalive:true,
open:true
}
}
},
open: {
dev: {
url: 'http://localhost:<%= connect.server.options.port %>/index.html'
}
}
grunt.registerTask('serve', function (target) {
grunt.task.run([
'connect',
'open:dev'
]);
});
我可以在默认浏览器的指定端口自动打开一个Web服务器,但问题是,它无法加载JSON数据,就像grunt serve一样。
我想让网络服务器像Yeoman一样工作,在运行命令grunt serve时,它将连接到网络服务器并在我的默认浏览器上自动打开它,并且可以加载我所有的PHP / json文件。看起来像grunt-serve插件是正确的插件,但我确信grunt-connect也可以做与grunt-serve相同的事情。
答案 0 :(得分:0)
根据https://github.com/gruntjs/grunt-contrib-connect,连接任务使服务器在有限的时间内可用,以便运行其他任务,例如单元测试。任务完成后,服务器将停止。如您所示,有一个keepalive选项可以防止服务器停止。 Connect对于连接其他域(如REST API)上的资源也很有用。通常,由于源策略相同,浏览器会拒绝此操作 - 请参阅https://github.com/drewzboto/grunt-connect-proxy。
因此,对于开发,我会使用标准模式“grunt serve”并连接以测试和代理另一个域上的资源:-)