node學(xué)習(xí)記錄之搭建web服務(wù)器教程
web服務(wù)器的基本知識(shí)
功能:1.接收HTTP請(qǐng)求(get,post,delete,put)2.處理HTTP請(qǐng)求
常見(jiàn)的web服務(wù)器架構(gòu):
1. Nginx/Apache:負(fù)責(zé)接收http請(qǐng)求,確定誰(shuí)來(lái)處理請(qǐng)求,并返回請(qǐng)求的結(jié)果
2. php-fpm/php模塊
常見(jiàn)得到請(qǐng)求
1.請(qǐng)求文件:包括要處理的靜態(tài)文件
2.完成特定的操作,如登錄,獲取特定數(shù)據(jù)等等
使用http創(chuàng)建web服務(wù)器
//引入nodejs的核心模塊http var http = require('http') ; //創(chuàng)建一個(gè)http實(shí)例 var reqHandler = function(req,res){ res.end("我全部接受完了") //用來(lái)表示已經(jīng)對(duì)響應(yīng)內(nèi)容全部接收 } var web = http.createServer(reqHandler()); web.listen(666) console.log("http runnibg on http://localhost:666")
運(yùn)行方法在命令行中 輸入node httptest.js即可
使用express創(chuàng)建web服務(wù)器
//引入模塊 var express = require("express") ; var app = express() ; //通過(guò)路由控制響應(yīng); app.get('/',function(req,res){ res.end("mingming love dama") }) app.listen(666 , function(){ console.log('express is running') }) ;
效果同上
靜態(tài)文件
app.use(express.static('./public'))
以./public作為靜態(tài)文件倉(cāng)庫(kù)的起始位置。
路由
將不同的請(qǐng)求分配給響應(yīng)的處理函數(shù)
三種路由的方法 :1) path方法 2)Router方式 3)route
1. path方法
app.get('/test',function(req,res){ res.send("id: "+req.query.id+" password: "+req.query.password); })
當(dāng)我們請(qǐng)求http://localhost:3000/test?id=120&password=11001時(shí)會(huì)
這就是path方法設(shè)置路由。
2. Router方法
var express = require("express") ; var app = express(); app.use(express.static('./public')) //引入路由 var router = express.Router() ; router.use(function log(){ console.log('Time: ', Date.now()); }) //調(diào)用路由 router.get('/',function(req,res){ res.send('Birds home page'); }) router.get('/about',function(req,res){ res.send('Birds about page') }) router.get('/test',function(req,res){ res.send('Birds test page') }) app.use('/bird',router) app.listen(3000,function(){ console.log("express is running") //監(jiān)聽(tīng)成功得回掉方法 })
這樣就定制好了路由了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node.js缺少mysql模塊運(yùn)行報(bào)錯(cuò)的解決方法
前幾天在工作中需要利用node.js連接數(shù)據(jù)庫(kù),通過(guò)網(wǎng)上的教程連接后運(yùn)行卻報(bào)錯(cuò)了,然后趕緊查找解決的方法,通過(guò)測(cè)試與朋友的提點(diǎn),終于解決了這個(gè)問(wèn)題,現(xiàn)在將解決的方法分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-11-11NodeJs中express框架的send()方法簡(jiǎn)介
這篇文章主要介紹了NodeJs中express框架的send()方法簡(jiǎn)介,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Express 配置HTML頁(yè)面訪問(wèn)的實(shí)現(xiàn)
這篇文章主要介紹了Express 配置HTML頁(yè)面訪問(wèn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11我的Node.js學(xué)習(xí)之路(四)--單元測(cè)試
在專業(yè)化的軟件開(kāi)發(fā)過(guò)程中,無(wú)論什么平臺(tái)語(yǔ)言,現(xiàn)在都需要UnitTest單元測(cè)試. Node.js有built-in的Assert。 今天讓我們來(lái)看一下Node.js的單元測(cè)試。在這兒我們使用nodeunit2014-07-07node+experss實(shí)現(xiàn)爬取電影天堂爬蟲(chóng)
本文給大家分享的是node+experss制作爬蟲(chóng)的第二篇,我們來(lái)爬取電影天堂最新更新的電影迅雷下載鏈接,有需要的小伙伴可以參考下2016-11-11Windows8下搭建Node.js開(kāi)發(fā)環(huán)境教程
這篇文章主要介紹了Windows8下搭建Node.js開(kāi)發(fā)環(huán)境教程,Win8下安裝node.js也比較簡(jiǎn)單,只是一些權(quán)限比較麻煩,需要的朋友可以參考下2014-09-09