3

私はnitrous.ioで動作する単純な node.js の例を取得しようとしています。angularテンプレートを使用して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 をインストールする必要がありますか? File Watcher は変更を認識しているように見えますが、js ポーリングの後で Web ページが更新されません。

(私はこれらすべてのテクノロジーに慣れていませんが、このチュートリアルの例は機能するはずです)

編集: Sindreの助けを借りて、xdg-mimeが見つからないという明らかに単純な(後知恵)問題はなくなりましたが、ライブリロードが機能しないという問題があります

4

4 に答える 4

6

Nitrous.io サポートごと

ここでの問題は、現時点で HTTP ポート 3000 ~ 9000 のみが開いている Nitrous サーバーで websocket がブロックされていることです。ライブ リロードが機能するには、同じポートで HTTP と WebSocket を実行する必要があります。

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 がインストールされていませんでした...なぜ xdg-mime が node_modules ディレクトリにないのかわかりません...

于 2014-01-19T21:04:39.913 に答える