node學(xué)習(xí)記錄之搭建web服務(wù)器教程
web服務(wù)器的基本知識(shí)
功能:1.接收HTTP請(qǐng)求(get,post,delete,put)2.處理HTTP請(qǐng)求
常見的web服務(wù)器架構(gòu):
1. Nginx/Apache:負(fù)責(zé)接收http請(qǐng)求,確定誰來處理請(qǐng)求,并返回請(qǐng)求的結(jié)果
2. php-fpm/php模塊
常見得到請(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("我全部接受完了") //用來表示已經(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() ;
//通過路由控制響應(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)文件倉庫的起始位置。
路由
將不同的請(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)聽成功得回掉方法
})
這樣就定制好了路由了
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Nodejs腳本快速導(dǎo)出MySQL數(shù)據(jù)庫數(shù)據(jù)
在數(shù)據(jù)庫管理和數(shù)據(jù)遷移的過程中,常常需要將數(shù)據(jù)庫中的表數(shù)據(jù)和結(jié)構(gòu)進(jìn)行導(dǎo)出,本文將使用Node.js編寫一個(gè)腳本實(shí)現(xiàn)快速從MySQL數(shù)據(jù)庫中導(dǎo)出所有表的數(shù)據(jù)和結(jié)構(gòu),并保存為單獨(dú)的SQL文件,需要的可以參考下2024-10-10
nodejs連接mysql數(shù)據(jù)庫及基本知識(shí)點(diǎn)詳解
這篇文章主要介紹了nodejs連接mysql數(shù)據(jù)庫,結(jié)合實(shí)例形式總結(jié)分析了nodejs連接與操作mysql數(shù)據(jù)庫的相關(guān)模板、配置及mysql數(shù)據(jù)庫查詢、添加數(shù)據(jù)等操作技巧,需要的朋友可以參考下2018-03-03
Nest.js Controller路由和請(qǐng)求處理強(qiáng)大功能解析
這篇文章主要為大家,介紹了Nest.js Controller路由和請(qǐng)求處理強(qiáng)大功能解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Node.js實(shí)現(xiàn)批量去除BOM文件頭
這篇文章主要介紹了Node.js實(shí)現(xiàn)批量去除BOM文件頭,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12

