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. day 73 初学vue (1)

    前情提要: vue 框架的初学习, 主要是,指令,属性,函数,计算属性,监听属性,钩子,生命周期,过滤器,阻止事件和综合案例todo list 学习准备,感谢学习资源: vue 官网:https:// ...

  2. tkinter之Frame

    tkinter的Frame即容器,在容器内部好像不能再嵌套一个Frame.

  3. 平衡二叉树-AVL树(LL、RR、LR、RL旋转)

    平衡二叉树的定义: 任意的左右子树高度差的绝对值不超过1,将这样的二叉树称为平衡二叉树,二叉平衡树前提是一个二叉排序树. 平衡二叉树的插入: 二叉平衡树在插入或删除一个结点时,先检查该操作是否导致了树 ...

  4. php -- 日期时间

    ----- 017-datetime.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv=&qu ...

  5. JavaScript -- TextArea

    -----054-TextArea.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=&quo ...

  6. mpvue图片轮播遇到的问题

    小程序官方写法: <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" i ...

  7. 比特币算法——SHA256算法介绍

    SHA256是安全散列算法SHA(Secure Hash Algorithm)系列算法之一,其摘要长度为256bits,即32个字节,故称SHA256.SHA系列算法是美国国家安全局 (NSA) 设计 ...

  8. mybatis JdbcTypeInterceptor - 运行时自动添加 jdbcType 属性

    上代码: package tk.mybatis.plugin; import org.apache.ibatis.executor.ErrorContext; import org.apache.ib ...

  9. es-06-java创建mapping和setting

    说实话, java的方式太繁琐, 不如直接使用DSL进行创建 1, create package com.wenbronk.elasticsearch.usage.index; import com. ...

  10. C++版Hello World

    代码 #include <iostream> using namespace std; int main() { cout << ; } 开头那两句代码 暂时先记住吧 #inc ...