express阮一峰のブログ
1582 ワード
http://javascript.ruanyifeng.com/nodejs/express.html
nextはあまり使っていません。
一つは何も操作しないで、レキシストオブジェクトの中間部品だけを伝達します。
レスポンス.sendFileメソッドはファイルを送信するために使用されます。
reponse.renderメソッドは、ページテンプレートをレンダリングするために使用されます。ejsが支持しているように
routesマウントパス
useメソッドは、routerオブジェクトにミドルウェアを指定し、データが正式にユーザに送信される前にデータを処理します。以下は中間部品の例です。
routerオブジェクトのparamメソッドをパスパラメータの処理に使用します。
なぜgetで検証しないですか?
nextはあまり使っていません。
一つは何も操作しないで、レキシストオブジェクトの中間部品だけを伝達します。
function uselessMiddleware(req, res, next) {
next();
}
上のコードのnextは中間部品のコールバック関数です。パラメータがある場合は、エラーメッセージ、パラメータはエラーテキストです。function uselessMiddleware(req, res, next) {
next(' !');
}
エラーが発生したら、後の中間部品はエラー処理関数が発見されるまで実行されなくなります。レスポンス.sendFileメソッドはファイルを送信するために使用されます。
reponse.renderメソッドは、ページテンプレートをレンダリングするために使用されます。ejsが支持しているように
routesマウントパス
var router = express.Router();
router.get('/', function(req, res) {
res.send(' ');
});
router.get('/about', function(req, res) {
res.send(' ');
});
app.use('/', router);
最後の行がapp.use('/app',router)に変更されると、/app/abroutの2つのパスに相当し、コールバック関数が指定されています。useメソッドは、routerオブジェクトにミドルウェアを指定し、データが正式にユーザに送信される前にデータを処理します。以下は中間部品の例です。
router.use(function(req, res, next) {
console.log(req.method, req.url);
next();
});
routerオブジェクトのparamメソッドをパスパラメータの処理に使用します。
router.param('name', function(req, res, next, name) {
// name ……
console.log(name);
req.name = name;
next();
});
router.get('/hello/:name', function(req, res) {
res.send('hello ' + req.name + '!');
});
上記のコードの中で、get方法はアクセス経路にnameパラメータを指定しています。param方法はnameパラメータを処理します。注意、param方法はHTTP動詞の方法の前に置かなければなりません。なぜgetで検証しないですか?