模板的使用
后端逻辑和页面表现分离 -前后端分离
模板配置
1.var swig = require (swig);
2.app.engine("html",swig.rendFile);
定义模板引擎,使用swig.rendFile方法后缀为html的文件
* 第一个参数:模板引擎的名称,同时也是模板文件的后缀;第二个参数表示处理模板内容的方法
3. app.set("views","./views");
设置模板文件存放目录
*第一个参数必须是views,
*第二个参数是目录
4.app.set("view engine","html");
注册模板引擎:
*第一个参数必须是view engine,
*第二个参数和app.engine这个方法定义的模板引擎的名称(第一个参数)是一致的
5.在开发过程中,需要取消模板缓存
swig.setDefaults({cache:false})
app.js:
/*
* 应用程序的启动(入口)文件
* */
//加载experss模块
var express = require("express");
//加载模板处理模块
var swig =require("swig");
//创建app应用 =》 nodejs 的 http.createSerey();
var app=express();
//配置应用模板
//定义当前应用所使用的模板引擎
//第一个参数:模板引擎的名称,同时也是模板文件的后缀;第二个参数表示处理模板内容的方法
app.engine("html",swig.renderFile);
//设置模板文件存放目录,第一个参数必须是views,第二个参数是目录
app.set("views","./views");
//注册所使用的模板引擎;第一个参数必须是view engine,第二个参数和app.engine这个方法定义的模板引擎的名称(第一个参数)是一致的
app.set("view engine","html");
//在开发过程中,需要取消模板缓存
swig.setDefaults({cache:false})
/*
* 首页
* req:request对象,保存客户端请求相关的一些数据 -http.request
* res:response对象,服务端输出对象,提供了一些服务器端输出相关的一些方法 -http.response
* next:方法,用于执行下一个和路径匹配的函数
* */
app.get("/",function(req,res,next){
//res.send("<h1>欢迎光临我的博客</h1>");
/*读取views目录下的指定文件,解析并返回给客户端
* 第一个参数:表示模板的文件,相对于views目录 views/index.html
*第二个参数:传递模板使用的数据
* */
res.render("index");
})
//监听http请求
app.listen(8081);