美文网首页
Express的模板引擎

Express的模板引擎

作者: 红烧排骨饭 | 来源:发表于2017-03-31 11:17 被阅读0次

    模板引擎是什么

    模板引擎(Template Engine)是一个将页面模板和数据结合起来生成 html 的工具

    ejs

    ejs 作为一个模板引擎,使用起来十分简单,而且与 express 集成良好

    安装

    npm install ejs --save
    

    使用

    修改 index.js,设置模板的存放路径,并设置当前的模板引擎为 ejs

    var express = require('express');
    var path = require('path');
    
    var app = express();
    
    app.set('views', path.join(__dirname, 'views'));  // 模板文件存放在 views/ 文件夹下
    app.set('view engine', 'ejs');  // 模板引擎为 ejs
    
    var indexRouter = require('./routes/index');
    var userRouter = require('./routes/user');
    
    app.use('/', indexRouter);
    app.use('/user', userRouter);
    
    app.listen(3000);
    

    在 views 文件夹下建立 user.ejs 文件,并加入如下代码

    <!DOCTYPE html>
    <html>
      <head>
      </head>
      <body>
        <%= name %>
      <body>
    </html>
    

    修改 routes/user.js 文件,加入一个新的路由

    router.get('/:name', function(req, res) {
        res.render('user', {
            name: req.params.name
        });
    });
    

    以上代码的意思是:当访问如 http://localhost:3000/user/okada 路径时,到 views 文件夹下找到名字为 user 的模板文件,然后渲染模板,最后返回渲染好的 HTML 内容

    <!DOCTYPE html>
    <html>
      <head>
      </head>
      <body>
        okada
      <body>
    </html>
    

    路径中 :name 起了占位符的作用,这个占位符的名字是 name,可以通过 req.params.name 取到实际的值。

    获取 req 中的请求信息常见方法有几种

    • req.query 解析 URL 中的 query parameters,比如 name=okada
    • req.params 解析 url 中的占位符,如 /:name
    • req.body 解析请求体,需使用相关的模块,如 body-parser

    相关文章

      网友评论

          本文标题:Express的模板引擎

          本文链接:https://www.haomeiwen.com/subject/ikomottx.html