接续上篇的基本设定 第七个应用:开发旅行社网站(1)
第七个应用:开发旅行社网站(2)
接续上次建立完简单的路由和伺服器,我们要继续往后做了
Express
常用的view engine是 Jade
,但Jade将HTML标籤完全抽像化,较不容易理解
因此这本书改用 Handlebars
Handlebars
npm install --save express3-handlebars
虽然上面写express3但express4也能使用
修改meadowloark.js
设定 handlebars为view enginevar app = express();//将handlebars作为默认的view enginevar handlebars = require('express3-handlebars').create({ defaultLayout:'main' });app.engine('handlebars', handlebars.engine);app.set('view engine', 'handlebars');
建立资料夹 views
并在底下新增 layouts
资料夹存放模板新增 main.handlebars
在layouts的资料夹,作为主模板<!doctype html><html><head> <title>Meadowlark Travel</title> </head><body> {{{body}}}</body></html>
在 views
的资料夹底下,新建home.handlebars
<h1>Welcome to Meadowlark</h1>
about.handlebars
<h1>About Meadowlark Travel</h1>
404.handlebars
<h1>404 - Not Found</h1>
500.handlebars
<h1> 500 - Server Error</h1>
这样就把view给设定好了
6. 修改路由规则,在meadowlark.js下修改规则
//Homeapp.get('/', function(req, res){res.render('home');});//Aboutapp.get('/about', function(req, res){res.render('about');});//404app.use(function(req, res){res.status(404);res.render('404');});//500app.use(function(err, req, res, next){console.error(error.stack);res.status(500);res.render('500');});
修正完后重新开启 http://localhost:3000/ 应该会看到套用main layout后的效果
使用view engine后在一般情况下会自动传回200状态码
只需要设定404 500的情况即可