nodeのexpressでURLのpathnameによって、動作させるプログラムを紐つける方法についてのメモです。
(*URLは開発環境での場合です。)
次のURL2つをそれぞれ、別のプログラムを動作させます。
1)http://localhost:3000/
2)http://localhost:3000/test
app.jsのapp.use関数の第1引数にpathnameを設定します。
そして、第2引数は、動作させるプログラムを設定します。
1)の場合は、app.use('/', routes);
2)の場合は、app.use('/test', test);
動作させるプログラムの、router.getの第1引数は'/'を設定します。
2)の場合も、'/'を設定します。'/test'を設定してはダメです。
'/test'を設定して、動作させるとHTTPステータス404(Not Found)になります。
2)を動作させるために、関連する箇所のプログラムは以下になります。
app.jsの先頭部分
test.jsの内容
app.jsのapp.use関数の第1引数にpathnameを設定します。
そして、第2引数は、動作させるプログラムを設定します。
1)の場合は、app.use('/', routes);
2)の場合は、app.use('/test', test);
動作させるプログラムの、router.getの第1引数は'/'を設定します。
2)の場合も、'/'を設定します。'/test'を設定してはダメです。
'/test'を設定して、動作させるとHTTPステータス404(Not Found)になります。
2)を動作させるために、関連する箇所のプログラムは以下になります。
app.jsの先頭部分
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var app = express(); // ECT view engine setup var ECT = require('ect'); var ectRenderer = ECT({ watch: true, root: __dirname + '/views', ext: '.ect'}); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ect'); app.engine('ect', ectRenderer.render); // routes setup var routes = require('./routes/index'); var test = require('./routes/test'); app.use('/', routes); app.use('/test', test);
test.jsの内容
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('test'); }); module.exports = router;
0 件のコメント :
コメントを投稿