我不太明白这两者之间的区别。从描述上看,这两个似乎都是为了打开webserver。
如果我在gruntfile.js上使用了带有以下配置的grunt-serve插件
serve: {
options: {
port: 9000
}
}我可以在指定的端口打开can服务器,尽管我必须在浏览器手动打开can服务器(不确定如何在我的默认浏览器上自动打开它)。and服务器工作正常,可以毫无问题地加载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'
]);
});我可以在默认浏览器的指定端口自动打开一个did服务器,但问题是,它不能像grunt serve那样加载JSON数据。
我想让when服务器的工作方式和Yeoman一样,当运行grunt serve命令时,它会连接到when服务器并在我的默认浏览器上自动打开它,并且可以加载我所有的PHP/json文件。看起来grunt-serve插件是正确的插件,但是我确信grunt-connect也可以做和grunt-serve一样的事情。
发布于 2015-09-09 14:09:22
根据https://github.com/gruntjs/grunt-contrib-connect的说法,连接任务使服务器在有限的时间内可用,以便运行其他任务,如单元测试。一旦任务完成,服务器就会停止。正如您所展示的,有一个keepalive选项可以防止服务器停止。Connect对于连接到另一个域上的资源也很有用,比如REST API。通常,由于同源策略,浏览器会拒绝此请求-请参阅https://github.com/drewzboto/grunt-connect-proxy。
因此,对于开发,我将使用标准模式"grunt serve“,并连接到另一个域上的资源进行测试和代理:-)
https://stackoverflow.com/questions/31955854
复制相似问题