これが私のセットアップです:
- ホストされた 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 の展開を証明することでした。すべて正常に機能しました。それは私が苦労しているカスタムモジュールです。
どんな助けでも大歓迎です。ありがとう!