在我的Gruntfile.js中,我尝试这样做:
connect: {
options: {
port: process.env.PORT,
hostname: process.env.IP,
livereload: 35729
}
}我试图从Cloud 9终端运行,得到了以下信息:
运行“服务”任务 运行“并发:服务器”(并发)任务 运行"connect:livereload“(connect)任务致命错误:端口8080已被另一个进程使用。
然后,我将我的Gruntfile.js更改为:
connect: {
options: {
port: 9000,
hostname: process.env.IP,
livereload: 35729
}
}我从终点站得到:
运行“服务”任务 运行“并发:服务器”(并发)任务 在
http://0.0.0.0:9000上运行" connect :livereload“(connect)任务启动连接web服务器 运行“监视”任务等待..。
但是如何从Cloud9访问http://0.0.0.0:9000?我试过了http://localhost:9000,http://127.0.0.1:9000,我是不是漏掉了什么?
发布于 2014-09-05 15:06:11
更新: On Cloud9,您可以使用端口8080、8081和8082来完成这项工作。有关详细信息和示例,您可以查看多端口。
在Cloud9中,端口8080是唯一外部可访问的端口,因此请将9000更改为8080。端口正在由另一个进程使用,应该先停止。使用:
kill -9 $(lsof -i:8080 -t)然后重新开始咕哝。那就行了。
发布于 2014-12-13 16:50:05
显然,当使用Apache作为web服务器时,您实际上可以让在Cloud9上工作,方法是代理websocket请求使用“mod_proxy_wstunnel”来咕哝监视:
1)向/etc/apache2/mods-available/proxy_wstunnel.load添加以下指令
ProxyPass /livereload/ ws://127.0.0.1:35729/2)启用"mod_proxy_wstunnel“及其依赖关系"mod_proxy”
ln -s /etc/apache2/mods-available/proxy_wstunnel.load /etc/apache2/mods-enabled/proxy_wstunnel.load
ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load3)重启Apache
service apache2 restart4)到目前为止,您必须对Livereload将要使用的websocket进行硬编码,通过修改livereload.js脚本,在我的特定情况下,它位于~/myworkplace/grunt-contrib-watch/node_modules/tiny-lr/lib/public/livereload.js,,您需要更改以下行:
this._uri = "ws://" + this.options.host + ":" + this.options.port + "/livereload/";至
this._uri = "ws://YOUR_WORK_PLACE.c9.io/livereload/";5)最后但并非最不重要的是,您必须在您想要的页面中直接引用livereload.js脚本,在我的特定实例中:
<script src="/ng-boilerplate/node_modules/grunt-contrib-watch/node_modules/tiny-lr/lib/public/livereload.js"></script>希望这能帮助某人,特别是节省一些时间:)
发布于 2014-09-05 23:32:22
当用于本地/回送连接时,可以使用任何端口。从工作区外部只能访问一个端口(此时,C9正在考虑多个端口)。我对这个肝脏不太熟悉,抱歉。似乎咕噜声也需要生成一个浏览器?这将不会在C9上运行。
但是为什么不使用Cloud9提供的“实时预览”呢?只要打开任何html页面,点击预览并选择‘现场预览’。对css,html的所有更改将立即应用在预览框架中。
https://stackoverflow.com/questions/25682120
复制相似问题