我正在尝试使用nitrous.io处理一个简单的node.js示例。我几乎只是跟着角度模板的yeoman教程。我必须将我的localhost修改为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的问题,但我确实遇到了重新加载无法正常工作的问题
答案 0 :(得分:6)
Per Nitrous.io支持
这里的问题是在Nortrous服务器上阻止了websockets 此时仅打开HTTP端口3000 - 9000。实时重新加载需求 在同一端口上运行HTTP和WebSockets以便运行。
WebSocket支持可能是我们将在不久的将来添加的内容
答案 1 :(得分:1)
它需要XDG,默认安装在大多数系统上,以便能够在浏览器中打开它。
答案 2 :(得分:0)
正如您所发现的,LiveReload需要WebSockets,Nitrous不支持开箱即用。但是,有一个好消息:你可以通过SSH隧道转发它们。我已经写了more detailed instructions on Coderwall。
答案 3 :(得分: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 / contains xdg-open,但不是xdg-mime。
我使用的远程服务器没有安装xdg-utils ...不确定为什么xdg-mime在node_modules dir中缺失...