nodejs入門教程六:express模塊用法示例
更新時(shí)間:2017年04月24日 11:50:07 作者:Dason_yu
這篇文章主要介紹了nodejs入門教程之express模塊用法,結(jié)合實(shí)例形式分析了express模塊的功能、創(chuàng)建、路由相關(guān)使用技巧,需要的朋友可以參考下
本文實(shí)例講述了nodejs入門教程之express模塊用法。分享給大家供大家參考,具體如下:
/**
* Created by Dason on 2017/3/28.
*/
var express = require('express');
var morgan = require('morgan');//打印日志的中間件
//創(chuàng)建express 的實(shí)例
var app = express();
/**
* 中間件:
* Connect: Node.js的中間件框架
* 分層處理:每層實(shí)現(xiàn)一個(gè)功能
* 使用 use方法:向use方法傳入具體的中間件
*/
//Express 提供了內(nèi)置的中間件 express.static 來設(shè)置靜態(tài)文件:express.static('靜態(tài)文件的目錄')
//http://localhost:3001/test.txt: public的相對(duì)路徑
app.use(express.static('./public'));//當(dāng)前項(xiàng)目目錄下的文件
app.use(morgan());
// 當(dāng)請(qǐng)求過來時(shí),express通過路由來控制做出響應(yīng)
//1. 路由的path 方法
app.get('/',function(req,res){
res.end('');
});
/**
* 路由
* 路由:根據(jù)不同的請(qǐng)求,分配相應(yīng)的函數(shù)
* 區(qū)分:路徑、請(qǐng)求方法
* 三種路由方法
* path
* router
* route
*/
//2.router 方法: 針對(duì)同一個(gè)路由下的多個(gè)子路由
// http://localhost:3001/post/add
var Router = express.Router();
// http://localhost:3001/post/add
Router.get('/add',function(req,res){
res.end('Router /add');
});
// http://localhost:3001/post/add
Router.get('/list',function(req,res){
res.end('Router /list');
});
//將定義的路由加入到 app的配置中
//第一個(gè)參數(shù):基礎(chǔ)路徑(即請(qǐng)求前的路徑),第二個(gè)參數(shù):定義的路由
app.use('/post',Router);
//3. 路由的route 方法:針對(duì)同一個(gè)路由下的不同請(qǐng)求方法
//http://localhost:3001/article
app.route('/article')
.get(function(req,res){
res.end('route /article get');
})
.post(function(req,res){
res.end('route /article post');
});
/**
* 路由參數(shù):例如 http://example.com/news/123
* 123 就是路由參數(shù)
* 第一個(gè)參數(shù):指定路由參數(shù)名字
* 第二個(gè)參數(shù):function:
* @parms:next:執(zhí)行下一步操作;newsId:路由參數(shù)的值
*/
//http://localhost:3001/news/123
app.param('newsId',function(req,res,next,newsId){
req.newsId = newsId;//將值存儲(chǔ)到請(qǐng)求對(duì)象中
next();
});
//使用該路由參數(shù)
app.get('/news/:newsId',function(req,res){
res.end('newsId:' + req.newsId);
});
//監(jiān)聽一個(gè)端口
app.listen(3001,function(){
console.log('express running on http://localhost:3001');
})
public在項(xiàng)目目錄下:

希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。
相關(guān)文章
Node?文件查找優(yōu)先級(jí)及?Require?方法文件查找策略
這篇文章主要介紹了Node文件查找優(yōu)先級(jí)及Require方法文件查找策略。文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
node.js實(shí)現(xiàn)回調(diào)的方法示例
這篇文章主要介紹了node.js實(shí)現(xiàn)回調(diào)的方法,結(jié)合實(shí)例形式分析了node.js實(shí)現(xiàn)向回調(diào)函數(shù)傳遞參數(shù)、閉包的使用及鏈?zhǔn)交卣{(diào)相關(guān)操作技巧,需要的朋友可以參考下2017-03-03
通過node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程
這篇文章主要介紹了通過node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程,node-mysql是JavaScript編寫的一個(gè)Node的MySQL驅(qū)動(dòng),需要的朋友可以參考下2016-03-03
Egret引擎開發(fā)指南之發(fā)布項(xiàng)目
當(dāng)我們制作完成一個(gè)項(xiàng)目后,我們需要把項(xiàng)目發(fā)布為正式版本,并放到網(wǎng)上提供給玩家。那么在egret中簡單的使用build命令并非打包最終的正式版文件。你還需要進(jìn)行最終的發(fā)布操作。2014-09-09

