0

これが私のセットアップです:

  • ホストされた Cloud9 IDE
  • Heroku ホスティング環境
  • node.jsを学びたい

http://www.nodebeginner.orgにあるチュートリアルに取り組んでいます。

Manuel は、server.js というカスタム モジュールの作成方法を示しています。

var http = require("http");

function start() {
  function onRequest(request, response) {
    console.log("Request received.");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}

http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}

exports.start = start;

彼は、このカスタム モジュールを index.js から参照する方法を示しています。

var server = require("./server");
server.start();

cloud9 ide で index.js を実行しようとしましたが、ハングするか、Service Temporarily Unavailable エラーが発生します。cloud9 の問題かもしれないと思ったので、Heroku インスタンスにプッシュしました。Heroku から、アプリケーション エラー ページが表示されます。Heroku のログには次のように表示されます。

←[33m2012-08-13T19:03:19+00:00 heroku[slugc]:←[0m Slug compilation finished
←[35m2012-08-13T19:03:21+00:00 heroku[web.1]:←[0m Starting process with command `node index.js`
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Object.<anonymous> (/app/index.js:1:70)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Module._compile (module.js:446:26)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Object..js (module.js:464:10)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Function.<anonymous> (module.js:383:11)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Module.load (module.js:353:31)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Function._load (module.js:311:12)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at Array.0 (module.js:484:10)
←[35m2012-08-13T19:03:21+00:00 app[web.1]:←[0m     at EventEmitter._tickCallback(node.js:190:38)
←[35m2012-08-13T19:03:23+00:00 heroku[web.1]:←[0m Process exited with status 1
←[35m2012-08-13T19:03:23+00:00 heroku[web.1]:←[0m State changed from starting to crashed

私はそれをグーグルで検索し、ローカルのcloud9インストールに関する質問を見つけましたが、ホストされたバージョンには何もありませんでした. また、server.js をルートから node_modules フォルダーに移動しようとしましたが、動作しないようです。私の最初のステップは、標準の「Hello World」アプリを起動して実行し、デバッグ モードと heroku の展開を証明することでした。すべて正常に機能しました。それは私が苦労しているカスタムモジュールです。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

Cloud9 で実行されない理由は、8888ではなくポートをリッスンするためですprocess.env.PORT

表示されるherokuエラーはrequire.paths、ノード0.4.xで削除された関数の削除について不平を言う別の種類のエラーです。ですから、それはまったく別のものです。正しいログ ファイルを監視していますか? ただし、ポートをprocess.env.PORTそこに変更すると、とにかく機能するはずです。

codez を見たい場合は、Cloud9 プロジェクトwebserverに置きます。

于 2012-08-14T09:38:48.913 に答える