概述
ExpressJS 4.0中提出了新的路由Router。Router好比是一個“迷你版”的express應(yīng)用,它沒有引入views或者settings,但是提供了路由應(yīng)有的API,.use,.get,.param和route。
示例應(yīng)用
讓我們創(chuàng)建一個express應(yīng)用,僅僅有少量routes和功能:
基礎(chǔ)路由:Home,About 一個把request請求打印到console的路由中間件 一個帶參數(shù)的路由 一個校驗特殊參數(shù)的路由中間件 一個用于登錄的路由,響應(yīng)對與路徑/login的GET和POST請求 校驗功能:校驗傳遞給某一個路由的參數(shù)應(yīng)用文件架構(gòu)
我們只需要兩個文件:
- package.json // 構(gòu)建node應(yīng)用所需要的插件- server.js // 構(gòu)建示例應(yīng)用的啟動文件
我們會把路由代碼寫如server.js文件。將來為了讓示例應(yīng)用模塊化,我們會把這些路由代碼分別寫入不同的文件,甚至可以為網(wǎng)站的不同組成部分單獨定義不同的路由文件。
創(chuàng)建Node應(yīng)用
創(chuàng)建node應(yīng)用,我們需要編寫package.json文件去定義node應(yīng)用依賴的插件。
{  "name": "express-router-experiments",  "main": "server.js",  "dependencies": {    "express": "~4.0.0"  }}下面繼續(xù)安裝依賴:
$ npm install
現(xiàn)在我們安裝了Express,讓我們繼續(xù)編寫server.js去處理路由。
創(chuàng)建server
我們在package.json中指定了main屬性值為server.js,因此Express會使用server.js作為應(yīng)用的入口文件。
// server.js// 基礎(chǔ)設(shè)置// ==============================================var express = require('express');var app   = express();var port  =  process.env.PORT || 8080;// 路由// ==============================================// 示例路由app.get('/sample', function(req, res) {  res.send('this is a sample!'); });// 我們會在這里編寫自己的路由// 啟動server// ==============================================app.listen(port);console.log('Magic happens on port ' + port);現(xiàn)在我們可以使用命令node server.js啟動server。我們使用app.get創(chuàng)建了一個Express 3時代的路由,如果此時打開瀏覽器訪問http://localhost:8080/sample,我們就能看到這樣下面的文字:this is a sample!。
基本用法 express.Router()
下面我們一起編寫Node應(yīng)用前端路由的例子,包括Home頁面和About頁面。
// server.js...// 獲取router實例var router = express.Router();// home頁面路由(http://localhost:8080)router.get('/', function(req, res) {  res.send('im the home page!'); });// about頁面路由(http://localhost:8080/about)router.get('/about', function(req, res) {  res.send('im the about page!'); });// 把定義好的路由集成到Node應(yīng)用中app.use('/', router);...我們前面的代碼使用express.Router()生成一個路由實例,并定義路由規(guī)則,最后把這個路由實例集成到應(yīng)用中。現(xiàn)在我們可以通過http://localhost:8080訪問Home頁面,通過http://localhost:8080/about訪問about頁面。
新聞熱點
疑難解答
圖片精選