$ npm install express --save
$ mkdir myapp
$ cd myapp
$ npm init
$ npm install express --save
創(chuàng)建app.js
文件
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
$ node app.js
Express 應(yīng)用生成器
$ npm install express-generator -g
$ express -h //用法鲤拿,幫助
$ express myapp //默認(rèn)引擎jade
$ express -e myapp // -e 使用引擎ejs
$ cd myapp
$ npm install
set DEBUG=myapp & npm start
路由實(shí)例
// 對(duì)網(wǎng)站首頁(yè)的訪問(wèn)返回 "Hello World!" 字樣
app.get('/', function (req, res) {
res.send('Hello World!');
});
// 網(wǎng)站首頁(yè)接受 POST 請(qǐng)求
app.post('/', function (req, res) {
res.send('Got a POST request');
});
// /user 節(jié)點(diǎn)接受 PUT 請(qǐng)求
app.put('/user', function (req, res) {
res.send('Got a PUT request at /user');
});
// /user 節(jié)點(diǎn)接受 DELETE 請(qǐng)求
app.delete('/user', function (req, res) {
res.send('Got a DELETE request at /user');
});
利用 Express 托管靜態(tài)文件
通過(guò) Express
內(nèi)置的 express.static
可以方便地托管靜態(tài)文件匹中,例如圖片、CSS
盏缤、JavaScript
文件等。
將靜態(tài)資源文件所在的目錄作為參數(shù)傳遞給 express.static
中間件就可以提供靜態(tài)資源文件的訪問(wèn)了祭陷。例如禀崖,假設(shè)在 public 目錄放置了圖片箍铭、CSS
和 JavaScript
文件,你就可以:
app.use(express.static('public'));
現(xiàn)在蜜唾,public 目錄下面的文件就可以訪問(wèn)了杂曲。
http://localhost:3000/img/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/img/bg.png
http://localhost:3000/hello.html
如果你的靜態(tài)資源存放在多個(gè)目錄下面,你可以多次調(diào)用 express.static
中間件:
app.use(express.static('public'));
app.use(express.static('files'));
如果你希望所有通過(guò) express.static
訪問(wèn)的文件都存放在一個(gè)“虛擬(virtual)”目錄(即目錄根本不存在)下面袁余,可以通過(guò)為靜態(tài)資源目錄指定一個(gè)掛載路徑的方式來(lái)實(shí)現(xiàn)擎勘,如下所示:
app.use('/static', express.static('public'));
現(xiàn)在就可以通過(guò)帶有 “/static” 前綴的地址來(lái)訪問(wèn) public
目錄下面的文件了。
http://localhost:3000/static/img/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/img/bg.png
http://localhost:3000/static/hello.html