带 livereload 的 grunt-contrib-watch 与不带 grunt-contrib-connect 的对比

grunt-contrib-watch with livereload with vs without grunt-contrib-connect

我是 Node,grunt 的新手,我同时使用 grunt-contrib-watch 和 grunt-contrib-connect。

据我了解,带有 livereload = true 选项的 watch 任务会重新运行目标的上述任务,并通过触发 livereload 服务器为重新加载的静态文件提供服务来刷新浏览器。

但是,如果浏览器重新加载和静态文件服务仅在带有 livereload=true 选项的 watch 任务中发生,为什么我们需要再次 grunt-contrib-connect 来完成相同的工作。

谢谢。

grunt-contrib-watch中的livereload选项负责触发websocket请求浏览器重新加载页面。它不是 http 服务器。据我所知 grunt-contrib-connect 只是一个 HTTP server。请记住 grunt-contrib-watch 在端口 35736 启动 websocket 服务器,因此添加脚本

<script src="//localhost:35729/livereload.js"></script>

在浏览器中触发实时重新加载。

希望这能阐明您的需求