一,创建应用
(一),创建应用,监听端口
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)