Express 框架
Express
是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:
-
可以设置中间件来响应 HTTP 请求。
-
定义了路由表用于执行不同的 HTTP 请求动作。
-
可以通过向模板传递参数来动态渲染 HTML 页面
安装方式分为两种:
1. npm install 在node.js平台安装 安装后系统自动生成package.json文件
2. 直接写package.json文件在进行npm install安装
基本用法:
//开启服务器 var express = require('express'); //当且仅当请求为get 方法 且路径符合时,才会触发相应的路由--也就是触发指定路径的指定方法 var express = require(); var app = express(); app.get('/',function(res,req){ res.send('Hello world!'); }); app.get('/customer',function(res,req){ res.send('customer pase'); }) app.get('/admin',function(){ res.send('admin page'); }); //监听端口号3000 app.listen(3000);
中间件
(1)挂载中间件的函数:app.use
var http = require('http'); var express = require('express'); var app = express(); 使用自定义中间件 app.use('/',function(req , res , next){ console.log(‘这是自定义中间件’) next(); 调用next表示执行后续的中间件代码 }); 使用static中间件加载静态资源 app.use('/', express.static(__dirname + "/statics")); app.get('/index', function(req, res) { res.send("hello browser") res.end(); }) http.createServer(app).listen(3000,function(err) { if(err) throw err; console.log('服务器连接成功'); })
(2) 基础中间件介绍
(1)static静态资源处理中间件
(2)logger获取浏览器基本信息中间件
(3)bodyParser通过post方法提交的数据解析中间件
(4)query通过get方法提交的数据解析中间件
(5)cookieParser用户状态保存cookie解析中间件
(6)session启用session管理用户状态中间件
(7)favicon网站图标处理中间件
静态文件
Express 提供了内置的中间件 express.static 来设置静态文件如:图片, CSS, JavaScript 等。
你可以使用 express.static 中间件来设置静态文件路径。例如,如果你将图片, CSS, JavaScript 文件放在 public 目录下,你可以这么写:
var express = require('express'); var app = express(); app.use(express.static('public')); app.get('/', function (req, res) { res.send('Hello World'); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
ejs模板引擎
简单高效的模板语言,通过数据和模板,可以生成HTML标记文本
ejs特点:
(1)快速编译和渲染
(2)简单的模板标签
(3)自定义标记分隔符
(4)文件的包含
(5)支持浏览器端和服务器端
(6)模板静态缓存
(7)支持express视图系统
① ejs成员函数
(1)Render(str,data,[option]):直接渲染字符串生成HTML
str:需要解析的字符串模板
data:数据
[option]:配置选项
(2)Compile(str ,[option]):编译字符串得到模板函数
str:需要解析的字符串模板
[option]:配置选项
[option]中的相关参数可以查阅文档了解使用方法
② ejs常用标签
(1)<% %>流程控制标签(中间写语句)
(2)<%= %>输出标签(原文输出HTML标签,中间写变量)
(3)<%- %>输出标签(HTML会被浏览器解析)
(4)<%# %>注释标签
(5)%对标记转义
(6)-%>去除没有意义的空格