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. 容器监控:cadvisor+influxdb+grafana

    cAdvisor:Google开源的工具,用于监控Docker主机和容器系统资源,通过图形页面实时显示数据,但不存储:它通过宿主机/proc./sys./var/lib/docker等目录下文件获取宿 ...

  2. linux防火墙(三)—— iptables语法之匹配条件

    一.iptables规则的匹配条件类型有三类 1.通用匹配:可直接使用,不依赖于其他条件或扩展,包括网络协议.IP地址.网络接口等条件 2.隐含匹配:要求以特定的协议匹配作为前提,包括端口.TCP标记 ...

  3. SQLServer——SQLServer链接外部数据源

    学习链接:https://www.cnblogs.com/licin/p/6244169.html 一.新建ODBC数据源 1.打开控制面板→管理工具→ODBC数据源→系统DSN 2.添加新系统数据源 ...

  4. vue教程2-02 vue防止花括号{{}}闪烁,v-text和v-html、v-cloak

    vue教程2-02 vue防止花括号{{}}闪烁,v-text和v-html.v-cloak 一.v-text和v-html <span>{{msg}}</span>  --& ...

  5. 性能优化中CPU、内存、磁盘IO、网络性能的依赖(转)

    关于系统性能优化,推荐一篇不错的博客! 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试 ...

  6. (转)python-user-agents

    原文:http://blog.topspeedsnail.com/archives/1958 Python3网络爬虫(四):使用User Agent和代理IP隐藏身份-------https://bl ...

  7. ASP.NET WebAPI Bearer Authorization

    使用VS2015新建一个WebApi项目. 关键的配置在Startup.Auth.cs里 public partial class Startup { public static OAuthAutho ...

  8. 《第一本Docker书》

    Docker简介 Docker依赖写时复制(copy-on-write),使修改应用程序非常迅速. Docker推荐单个容器只运行一个应用或进程,鼓励面向服务的架构和微服务架构. Docker的核心组 ...

  9. JavaServer Faces生命周期概述

    JavaServer Faces应用程序的生命周期在客户端为页面发出HTTP请求时开始,并在服务器响应该页面并转换为HTML时结束. 生命周期可以分为两个主要阶段:执行和渲染.执行阶段进一步分为子阶段 ...

  10. CentOS 7下搭配简单的C语言开发环境

    在CentOS 7下安装gcc,gcc是编译和运行C语言的工具, 安装命令: yum install gcc 中途如果有询问则输入y 安装成功后,通过以下命令 gcc --version 来查看安装的 ...