下一代JavaScript语法编译器Babel
当前最新的 JavaScript 语法标准是ECMAScript 6
(ES2015
),ES2015
给JavaScript
带来了很多新特性,如:Promise
对象、Generator
函数、Class
等。但是这些对象浏览器和低版本的Node.js(Node.js自v4.0+
开始支持ES2015
特性)中,在并不能或部分不能支持ES2015
特性,这时我们可以使用Babel
对语言进行转换。
当前最新的 JavaScript 语法标准是ECMAScript 6
(ES2015
),ES2015
给JavaScript
带来了很多新特性,如:Promise
对象、Generator
函数、Class
等。但是这些对象浏览器和低版本的Node.js(Node.js自v4.0+
开始支持ES2015
特性)中,在并不能或部分不能支持ES2015
特性,这时我们可以使用Babel
对语言进行转换。
Browserify
可以打包Node(npm)模块的依赖环境,让这些模块在浏览器中运行。React
在布暑生产环境前,一般也需要使用Browserify
打包编译。随着项目的变大,每次打包编译的时间也会变的越来越长,这时我们需要Watchify
模块。Watchify
会监视源文件的变化,并使用与Browserify
相同的配置,自动完成源文件变化部分的打包编译,在打包编译速度上有了极大的提升。
router
路由器对象是一个独立的中间件和路由实例。你可以把它想象成一个“迷你应用程序”,只能够执行中间件和路由功能。每个Express应用都有一个内置的应用路由器。
response
对象代表HTTP响应信息,响应信息在Express应用收到HTTP请求后发送给客户端。Express的response
对象是对Node.jshttp.ServerResponse
对象扩展,在ServerResponse
对象基础上增加了一些Web应用中常用的属性和方法。按照习惯,在本文档中response
对象被表示为res
。
request
对象代表HTTP请求,及请求中的查询字符串、请求体、HTTP头等。Express的request
对象是对Node.jshttp.IncomingMessage
对象的扩展,在IncomingMessage
对象基础上增加了一些Web应用中常用的属性和方法。按照习惯,在本文档中request
对象被表示为req
。
创建一个Application
对象实例,也就是创建一个Express应用。app
对象一般在Express应用的app.js
文件中创建,通过app
对象,可以实现定向HTTP请求、配置中间件、渲染HTML、配置模板等。
Express
是一个基于 Node.js 平台开发的,简单、灵活的 Web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。Express提供了丰富的 HTTP 快捷方法和任意排列组合的中间件,使你可以快速、简单的创建一个健壮的API。Express性能优异,它没有对 Node.js 已有的特性进行二次抽象,只是在它的基础上扩展了 Web 应用所需的基本功能。
在定义HTTP请求的监听处理函数或请求处理中间件时,针对每个请求我们需要调用相应的代码块。根据用户请求路径和请求方式的不同,需要触发不同的服务器形为,如:GET
请求和POST
请求应该区别处理、不同的URL也应该有不同的响应。 在Express应用中,通过路由
实现不同请求路径和请求方式的触发不同的服务器响应。
在Express 的app.js
文件中,可以向应用添加一些中间件。Express 的通过方法重载将中间件添加到应用中,这些中间件可以被其后路由中的GET
、POST
等HTTP方法使用,也可以通过中间件做一些通用的处理。