gpt4 book ai didi

gruntjs - 如何在单个页面中使用来自多个服务器的 livereload? (特别是 Grunt.js 连接和观察)

转载 作者:行者123 更新时间:2023-12-02 01:43:06 25 4
gpt4 key购买 nike

我试图让 livereload 在一个网站上工作,由不同的服务器触发,来自不同的项目。我将 Grunt.js 与 grunt-contrib-connect 和 grunt-contrib-watch 一起使用。

这是一个例子:

  • ProjectA 当前正在 localhost:33333 上运行 livereload 服务器
  • ProjectB 当前正在 localhost:44444 上运行 livereload 服务器
  • ProjectC 当前正在 localhost:55555 上运行 livereload 服务器

现在让我们说,我在 localhost:9800 上运行一个应该受益于 livereloading 的网页因此,在大多数情况下,只有一个 livereload 进程存在,在 localhost:9800/index.html 中会有这样的东西:

 
<body>
...
<script type="text/javascript" charset="UTF-8" src="//localhost:35729/livereload.js"></script>
</body>

因此,对于多个 livereload 服务器,我认为我必须包含所有 livereload 脚本:

 
<body>
...
<script type="text/javascript" charset="UTF-8" src="//localhost:33333/livereload.js"></script>
<script type="text/javascript" charset="UTF-8" src="//localhost:44444/livereload.js"></script>
<script type="text/javascript" charset="UTF-8" src="//localhost:55555/livereload.js"></script>
</body>

这是行不通的。只有第一个脚本会在浏览器中触发 livereload。在 grunt-contrib-watch 的文档中,他们有一个关于在 watch 任务的不同目标中运行不同服务器的示例。你是如何做到这一点的?

谢谢你的帮助

这是我的 watch 测试任务:

 
watch: {

css: {
files: ['www/**/*.css'],
options: {
livereload: 33333
}
},

html: {
files: ['www/**/*.html'],
options: {
livereload: 44444
}
},

js: {
files: ['www/**/*.js'],
options: {
livereload: 55555
}
},
...
}

最佳答案

此配置无法工作。

livereload.js 实例化一个全局对象 LiveReload 参见 ( livereload-js/src/startup.coffee )。每个 LiveReload 对象只有一个网络套接字可用,所以你不能有 3 个套接字。

我想和你有相同的配置,但今天我找不到解决它的方法

关于gruntjs - 如何在单个页面中使用来自多个服务器的 livereload? (特别是 Grunt.js 连接和观察),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com