Express
Table of Contents
1. Express 简介
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
2. 第一个 Express 工程
下面是使用 Express 创建 web 工程的基本步骤。
第一步,创建工程目录。
$ mkdir myapp $ cd myapp
第二步,安装 express 依赖。
创建下面 package.json 文件:
$ cat package.json
{
"name": "myapp",
"version": "0.1.0",
"dependencies": {
"express": "~4.14.1"
}
}
执行命令 npm install 下载安装依赖库 express。
第三步,创建你的应用程序。
下面是一个简单的应用程序(假设文件名为 app.js)。
const express = require('express')
const app = express()
app.get('/user1', function (req, res) {
res.send('Hello user1!\n')
})
app.post('/user1', function (req, res) {
res.send('Got a POST request, user1\n')
})
app.get('/user2', function (req, res) {
res.send('Hello user2!\n')
})
app.post('/user2', function (req, res) {
res.send('Got a POST request, user2\n')
})
app.use(express.static('public'))
const http = require('http')
const server = http.createServer(app)
server.listen(8000)
console.log("Server is listening on port 8000")
第四步,启动 server,并测试。
$ node app.js Server is listening on port 8000
测试如下:
$ curl localhost:8000/user1 Hello user1! $ curl localhost:8000/user2 Hello user2! $ curl -X POST localhost:8000/user1 Got a POST request, user1 $ curl -X POST localhost:8000/user2 Got a POST request, user2
2.1. 返回静态文件
要让 Expess 返回静态文件(如 html, css, etc),配置 app.use(express.static('public')) 即可(其中 pulibc 是静态文件所在目录)。
假设工程 public 子目录中有文件 index.html,内容为:
<p>Welcome</p>
app.js 为:
const express = require('express')
const app = express()
app.use(express.static('public'))
const http = require('http')
const server = http.createServer(app)
server.listen(8000)
console.log("Server is listening on port 8000")
用 node app.js 启动应用后,测试如下:
$ curl localhost:8000/index.html <p>Welcome</p>