3

我正在尝试在nitrous.io上获得一个简单的 node.js 示例。我几乎只是遵循了带有角度模板的 yeoman 教程。我不得不将我的本地主机修改为 0.0.0.0 并将我的 liveReload 端口更改为 4000。我还必须使用 --force 命令运行 grunt 服务器,因为我收到以下错误:

Warning: Command failed: /home/action/workspace/node-test/node_modules/grunt-open/node_modules/open/vendor/xdg-open: 1: /home/action/workspace/node-test/node_modules/grunt-open/node_modules/open/vendor/xdg-open: xdg-mime: not found   

跳过这些障碍后,重新加载似乎不起作用。我的“盒子”是否需要安装 xdg-mime 或 xdg-utils 才能正常工作?文件观察者似乎注意到了变化,但网页在任何 js 轮询后都没有更新。

(我对所有这些技术都是新手,但看起来这个教程示例应该可以工作)

编辑:在 Sindre的帮助下,我不再有现在显然很简单(事后看来)的问题,缺少 xdg-mime 但我确实遇到了实时重新加载无法正常工作的问题

4

4 回答 4

6

每 Nitrous.io 支持

这里的问题是 websockets 在 Nitrous 服务器上被阻止,此时只有 HTTP 端口 3000 - 9000 是开放的。Live reload 需要在同一个端口上运行 HTTP 和 WebSockets 才能正常工作。

WebSocket 支持可能是我们将在不久的将来添加的东西

于 2013-09-03T20:04:56.330 回答
1

它需要在大多数系统上默认安装的 XDG 才能在浏览器中打开它。

于 2013-08-31T13:48:25.840 回答
0

正如您所发现的,LiveReload 需要 WebSockets,而 Nitrous 不支持开箱即用。但是,有一个好消息:您可以通过 SSH 隧道转发来让它们工作。我在 Coderwall 上写了更详细的说明

于 2013-10-06T07:55:25.120 回答
0

我需要安装 xdg-utils 来解决这个问题:

Running "open:server" (open) task
finished populating things
Warning: Command failed: /generator-test/node_modules/grunt-open/node_modules/open/vendor/xdg-open: line 584: xdg-mime: command not found
xdg-open  no method available for opening 'http://localhost:9000'
 Use --force to continue.

./xdg-open: line 584: xdg-mime: command not found
xdg-open  no method available for opening 'http://www.google.com'

node_modules/open/vendor/ 包含 xdg-open,但不包含 xdg-mime。

我正在使用的远程服务器没有安装 xdg-utils ...不知道为什么 node_modules 目录中缺少 xdg-mime ...

于 2014-01-19T21:04:39.913 回答