欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Express 框架

程序员文章站 2022-03-31 17:05:46
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 定义了路由表用于执行不同 ......

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)-%>去除没有意义的空格