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

Express 框架的更多相关文章

  1. Node.js、Express框架获取客户端IP地址

    Node.js //传入请求HttpRequest function getClientIp(req) { return req.headers['x-forwarded-for'] || req.c ...

  2. Win8.1 安装Express 框架

    1.安装Windows Node.js客户端 2.安装Express框架 我本机是Win8.1的,使用命令npm install -g express安装Express,安装完成后显示一些安装明细,刚 ...

  3. Node.js Express 框架学习

    转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...

  4. Node.js Express 框架

    Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...

  5. express框架路由配置及congtroller自动加载

    express框架在node官方推荐的一个框架,关于如何入门的文章,已经很多了,我就不在累赘了,本文的核心是如何修改文件使得更接近一个MVC的框架 express原生是通过require的方式实现了模 ...

  6. nodejs学习笔记二:解析express框架项目文件

    上一章介绍了如何去创建一个express框架的工程项目,这章介绍一下express框架下的文件和用法解析,上一张我们创建的工程项目结构图如下: models是不属于原工程项目结构,为了实现数据模型后添 ...

  7. nodejs学习笔记一:安装express框架并构建工程目录

    偶遇node是在一个阳光明媚的上午,无意间打开博客看到一片关于nodejs的介绍,通读全篇后,心情跌宕起伏,哎呀,这么好的东西我竟然现在才知道,这是最气的,于是马上开始制定学习nodejs计划,好了, ...

  8. Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)

    具体步骤: 1.安装开发工具WebStorm: 2.安装node/npm(下载地址:https://nodejs.org/download/)选择适合你的xxx.mis安装: 3.安装express框 ...

  9. express 框架之session

    一.什么是session? 最近在学习node.js 的express框架,接触到了关于session方面的内容.翻阅了一些的博客,学到了不少东西,发现一篇博文讲的很好,概念内容摘抄如下: Sessi ...

  10. 从零开始学习Node.js例子四 多页面实现数学运算 续一(使用connect和express框架)

    1.使用connect框架 .use方法用于绑定中间件到connect服务器,它会配置一系列在接到请求时调用的中间件模块,此例中我们要配置的中间件有favicon logger static rout ...

随机推荐

  1. mybatis 插件原理

    [传送门]:mybatis 插件原理

  2. postgresql-递增uuid优点

    递增uuid的优点: https://blog.2ndquadrant.com/on-the-impact-of-full-page-writes/ 减小wal生成  

  3. Linux命令对应的英文全称

    su:Swith user  切换用户,切换到root用户cat: Concatenate  串联uname: Unix name  系统名称df: Disk free  空余硬盘du: Disk u ...

  4. CLR关于语言文化的类型一CultureInfo类和字符串与线程的关联

    .Net Frameword使用System.Globalization.Culture类型表示一个"语言/国家"对(根据RFC 1766标准).例如,'en-US'代表美国英语, ...

  5. Elasticsearch 5.X 使用 Docker 运行使用 Head 插件

    ES 5.X 版本后就不支持 elasticsearch-head  以插件方式来安装了. for Elasticsearch 5.x: site plugins are not supported. ...

  6. 全网最详细的Cloudera Hue执行./build/env/bin/supervisor 时出现KeyError: "Couldn't get user id for user hue"的解决办法(图文详解)

    不多说,直接上干货! 问题详情 如下: [root@bigdata-pro01 hue--cdh5.12.1]# ./build/env/bin/supervisor Traceback (most ...

  7. Servlet 分页保存查询条件

    第一种情况:一个页面走一个JSP页面和Servlet 解决办法: /** 把用户这一次选择的所有条件保存Map集合中,再把 map存到Session会话中,点击分页时进入将Servlet中再将Sess ...

  8. 联系动词Link.V笔记

    这篇单独记录一下联系动词的语法.需要注意的是,只有这个单词在作为联系动词的时候才是这个意思或者才是这样的用法.当然每个单词都会有很多的用法,并不只是这样而已. 第一组:好像…似乎… seem to b ...

  9. php的explode()和implode()方法

    php 中,字符串与数组互转       拆分字符串 到数组 explode()    - -(其他语言中的 split) 将数组连接成字符串 implode() <?php $test = ' ...

  10. POJ 1740(构造博弈)

    题目链接: https://cn.vjudge.net/problem/POJ-1740 题目描述: Alice and Bob decide to play a new stone game.At ...