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.

参考:http://expressjs.com/

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>

Author: cig01

Created: <2017-07-05 Wed 00:00>

Last updated: <2017-11-10 Fri 16:22>

Creator: Emacs 25.3.1 (Org mode 9.1.2)