首先新建一個目錄mkdir myblog,在該目錄下運行npm init 生成package.jsonjavascript
而後安裝express,加--save寫入package.jsoncss
npm i express@4.14.0 --save
新建index.js並寫入:
var express = require('express'); var app = express(); app.get('/', function(req, res) { res.send('hello, express'); }); app.listen(3000);
: 解析後的 url 中的 querystring,如 ,req.query 的值爲 : 解析 url 中的佔位符,如 ,訪問 /haha,req.params 的值爲 : 解析後請求體,需使用相關的模塊,如 body-parser,請求體爲 ,則 req.body 爲 //req.query?name=haha{name: 'haha'}
//req.params/:name{name: 'haha'}
//req.body{"name": "haha"}{name: 'haha'}
文件結構以下:html
而後全局安裝supervisor並啓動:
supervisor --harmony index
supervisor 會監聽當前目錄下 node 和 js 後綴的文件,當這些文件發生改動時,supervisor 會自動重啓程序
安裝一個模版引擎ejs:
npm i ejs --save
此時各文件代碼以下:
index.js:npm install -g supervisor
var path = require('path'); var express = require('express'); var app = express(); var indexRouter = require('./routes/index'); var userRouter = require('./routes/users'); app.set('views', path.join(__dirname, 'views'));// 設置存放模板文件的目錄 app.set('view engine', 'ejs');// 設置模板引擎爲 ejs app.use('/', indexRouter); app.use('/users', userRouter); app.listen(3000);
routes/index.js:java
var express = require('express'); var router = express.Router(); router.get('/', function(req, res) { res.send('hello, express'); }); module.exports = router;
routes/users.js:node
var express = require('express'); var router = express.Router(); router.get('/:name', function(req, res) { res.render('users', { name: req.params.name }); }); module.exports = router;
views/header.ejsgit
<!DOCTYPE html> <html> <head> <style type="text/css"> body {padding: 50px;font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;} </style> </head> <body>
views/footer.ejsexpress
</body> </html>
views/users.ejs:npm
<%- include('header') %> <h1><%= name.toUpperCase() %></h1> <p>hello, <%= name %></p> <%- include('footer') %>
運行: json
訪問localhost:3000/users/richard:app
https://maninboat.gitbooks.io/n-blog/content/book/3.3%20%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.html