文档章节

Express 框架

o
 osc_w9s1w4o0
发布于 2019/04/08 22:31
字数 826
阅读 11
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

pyhon

cython 相关的帖子. http://blog.behnel.de/categories/cython.html https://www.nexedi.com/ 我们追求的价值观 家 多核Python HTTP服务器(比Go更快)(破坏者:Cython) 价值观 当让-保罗·...

MtrS
23分钟前
9
0
多处理与线程Python - Multiprocessing vs Threading Python

问题: I am trying to understand the advantages of multiprocessing over threading . 我试图了解多处理优于线程的优势。 I know that multiprocessing gets around the Global Interpret......

法国红酒甜
29分钟前
9
0
格式编号始终显示2个小数位 - Format number to always show 2 decimal places

问题: I would like to format my numbers to always display 2 decimal places, rounding where applicable. 我想将数字格式化为始终显示2个小数位,并在适用的情况下四舍五入。 Examples...

富含淀粉
今天
22
0
Docker可视化工具Portainer

1 前言 从没想到Docker也有可视化的工具,因为它的命令还是非常清晰简单的。无聊搜了一下,原来已经有很多Docker可视化工具了。如DockerUI、Shipyard、Rancher、Portainer等。查看对比了一番...

南瓜慢说
今天
20
0
日志系统新贵 Loki,真香!!

最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。...

庞陆阳
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部