zoukankan      html  css  js  c++  java
  • 2 ~ express ~ 模板引擎的配置与使用

    一,创建应用

    (一),创建应用,监听端口

    var express = require('express')
    // 创建app应用
    var app = express()

    app.listen(3000)
     
    (二),用户的访问
    1,用户可以通过 url 访问 web应用
    2,web 后端通过用户访问的 url 处理不同的业务逻辑
     
    _________________________________________
     
    二,处理请求输出
    (一),路由绑定
    1,通过 app.get() 或 app.post() 等方法可以把一个 url 路径 和 一个函数(或 n个函数)进行绑定
    2,具体代码 :   app.get('/',function(req,res,next){})
    3,其中参数的含义:
      (1) req : request 对象 。保存客户端请求的一些数据
      (2) res : response对象 。 提供了一些服务端输出的方法
      (3) next : 用于执行下一个 与路径匹配 的函数
     
    _________________________________________
     
    (二),内容输出
    通过 res.send(string)  将内容发送到客户端。
     
    var express = require('express')
    // 创建app应用
    var app = express()

    /**
    * 首页
    */

    // 此处路径为 / ,而不是 ./ 。
    app.get('/',(req,res,next)=>{
    res.send('<h1>welcome my website</h1>')
    })

    app.listen(3000)
    ____________________________
     
    三,模板配置
     
    (一),模板的使用
    后端逻辑 与 页面表现 分离  ——  前后端分离
     
    (二),模板配置
     
    /*  1,定义模板引擎,使用 swig。renderFile 方法 => 解析后缀名为 html 的文件
     *   第一个参数 :模板引擎的名称,同时也是模板文件的后缀
     *   第二个参数 :用于解析处理模板内容的方法
     */
    var swig = require('swig');
    app.engine('html',swig.renderFile);     
     
    /*   2,设置模板存放目录
     *   第一个参数 :必须是 views 。( 不可变更 )
     *   第二个参数 :路径目录
     */
    app.set('views','./views');
     
    /*   3,注册模板引擎 。 把之前定义的模板引擎配置到应用种
     *   第一个参数 :必须是 view engine 。( 不可变更 )
     *   第二个参数 :和 view engine 方法定义的模板引擎的名称(第一个参数)是一致的
     */
    app.set('view engine','html');
     
    /*  4,在开发过程中,需要取消模板缓存。默认设置为 true ,需要将其修改为 false
     *  不需要使用 supervisor 工具 , 也可以自动调试的功能 。 方便调试 !!!
     */ 
    swig.setDefaults({cache:false})
     
    ********************************************
    app.js 文件代码:
     
    var express = require('express')
    var swig = require('swig')
    // 创建app应用
    var app = express()

    app.engine('html',swig.renderFile)
    app.set('views','./views');
    app.set('view engine','html');
    swig.setDefaults({cache:false})

    /**
    * 首页
    * 此处路径为 / ,而不是 ./ 。
    */
    app.get('/',(req,res,next)=>{
    // res.send('<h1>welcome my website</h1>')
     
    /**
    * 读取 views 目录下的指定文件,解析并返回客户端
    * 第一个参数 : 表示模板的文件 , 相对于 views 目录 。默认自动解析 html ,所以可以省略 html后缀 。 默认找到 views/index.html 读取并解析
    * 第二个参数 : 传递给模板使用的数据。(后期详细介绍)
    */
    res.render('index')
    })

    app.listen(3000)
     
     
  • 相关阅读:
    Mybatis中的动态SQL
    Mybatis核心知识点
    Java8之Stream详解
    多线程知识点总结(二)
    多线程知识点总结(一)
    数据库中的行锁和表锁
    数据库中的sql完整性约束
    数据库中的sql语句总结
    全局变量
    打印 输出 debug
  • 原文地址:https://www.cnblogs.com/500m/p/10980332.html
Copyright © 2011-2022 走看看