最新の nodejs peepcode チュートリアルを購入して従いましたが、最初のステップを通過できません。
nodejsのデバッグは私にとってなぞなぞなので、エラーが発生した場所を見つけるために数時間を費やした後、私はイライラしています。
アプリの構造は次のようになります。
example
|__public
|__views
|__assets
|__apps <- instead of routes
server.js
package.json
これが私の簡単なコードです:
サーバー.js
/**
* Module dependencies.
*/
require('coffee-script');
var express = require('express');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// routes
require('./apps/authentication/routes')(app);
app.listen(3000);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
/apps/authentication/routes.coffee:
routes = (app) ->
app.get '/login', (req, res) ->
res.render "views/login",
title: 'Login'
stylesheet: 'login'
module.exports = routes
apps/authentication/views/login.jade テンプレート:
form(action='/sessions', method='post')
label
| Username
input(type='text', name='user')
label
| Password
input(type='password', name='password')
input(type='submit', name='Submit')
http://localhost:3000/をブラウジングするときに authentication/routes.coffe からのログイン テンプレートの代わりに public/stylesheet/login.css にスタイルシート ファイルと login.css を取得しました。
Cannot GET /
ノードからの他のエラーメッセージもありません:
Express server listening on port 3000 in development mode
どこに問題があるのか わかりません。これは本当にイライラします。おそらくどこかで愚かなタイプミスがありますが、私はこれを理解できません:(