svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器
生活随笔
收集整理的這篇文章主要介紹了
svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前提:系統(tǒng)安裝nodejsrequire相應(yīng)的模塊 創(chuàng)建服務(wù)器 配置端口 啟動(dòng)服務(wù)器
搭建步驟
使用nodejs搭建服務(wù)器,簡(jiǎn)單的來(lái)說(shuō)可以分為三步:必要的nodejs模塊
以下模塊都是以 var http=require('http')的方式在代碼中使用- http 創(chuàng)建http服務(wù)
- url 處理網(wǎng)站的url
- path 處理服務(wù)器文件的路徑,因?yàn)橥粋€(gè)文件在不同操作系統(tǒng)中路徑的表示方法是不一樣的,需要把他處理成統(tǒng)一的
- fs 讀取服務(wù)器的文件
一個(gè)最簡(jiǎn)單的nodejs服務(wù)器程序
//1.require http模塊 var http=require('http') //2.創(chuàng)建服務(wù)器,傳入回調(diào)函數(shù),作用是處理網(wǎng)頁(yè)請(qǐng)求 var server=http.createServer(function(req,res){res.setHeader('Content-Type','text/html;charset=utf-8')res.writeHead(200,'OK')res.write(`<html><head></head><body><h1>hello world<h1><h2>你好</h2></body></html>`)res.end() }) console.log('open http://localhost:8080') //3.設(shè)置監(jiān)聽(tīng)的端口 server.listen(8080)打開(kāi)終端,進(jìn)入node-server文件夾,輸入node index.js,然后在瀏覽器的地址欄輸入:http://localhost:8080就可以看見(jiàn)hello world了
關(guān)于代碼:
- req代表請(qǐng)求,res代表響應(yīng)
- setHeader的作用是設(shè)置響應(yīng)頭
- setHeader('Content-Type','text/html;charset=utf-8')作用是告訴瀏覽這是html代碼,使用html方式去解析接收到的字符串
- setHeader('Content-Type','text/plain;charset=utf-8')告訴瀏覽器用純文本分方式去解析接收到的字符串,頁(yè)面顯示的內(nèi)容是這樣的:
- charset=utf-8 作用是告訴瀏覽器使用utf-8方式解碼,如果不寫(xiě)或者解碼方式與文件的編碼方式不一致,在網(wǎng)頁(yè)端會(huì)看到亂碼的情況
- writeHead 作用是寫(xiě)http狀態(tài)碼,可以自己定義,比如說(shuō)writeHead(200,'hello world'),在響應(yīng)頭里可以看見(jiàn),但一般按照http的規(guī)定去定義
- write 作用是向響應(yīng)體里面寫(xiě)入字符串,可以分多次寫(xiě)入
- end 作用是結(jié)束響應(yīng),如果不寫(xiě),網(wǎng)頁(yè)會(huì)一直處于加載狀態(tài)
- listen 作用是監(jiān)聽(tīng)端口
有了上面的知識(shí),就可以寫(xiě)一個(gè)簡(jiǎn)單的靜態(tài)nodejs服務(wù)器了
搭建簡(jiǎn)單的靜態(tài)服務(wù)器
服務(wù)器文件文件結(jié)構(gòu)
node-server|-index.js|-static |-css |-style.css|-js |-main.js|-img |-cat.png|-index.html //網(wǎng)頁(yè)的html文件index.js代碼:
//加載必須的模塊 var http=require('http') var fs=require('fs') var url=require('url') var path=require('path')//定位靜態(tài)目錄的位置,根據(jù)請(qǐng)求找出對(duì)應(yīng)的文件 function staticRoot(staticPath,req,res){var pathObj=url.parse(req.url,true)if(pathObj.pathname==='/'){pathObj.pathname+='index.html'} //讀取靜態(tài)目錄里面的文件,然后發(fā)送出去var filePath=path.join(staticPath,pathObj.pathname)fs.readFile(filePath,'binary',function(err,content){if(err){res.writeHead(404,'Not Found')res.end('<h1>404 Not Found</h1>')}else{res.writeHead(200,'Not Found')res.write(content,'binary')res.end()}}) } //創(chuàng)建服務(wù)器 var server=http.createServer(function(req,res){staticRoot(path.join(__dirname,'static'),req,res) }) //監(jiān)聽(tīng)8080端口 server.listen(8080) console.log('http://localhost:8080')輸入網(wǎng)址得到的結(jié)果
網(wǎng)頁(yè)的請(qǐng)求狀態(tài)
上面的代碼主要是使用nodejs的fs模塊,可以讀取服務(wù)器里面的文件,style.css、main.js、index.html和cat.png都是fs模塊根據(jù)不同的請(qǐng)求路徑來(lái)讀取得到的,最終通過(guò)res.write()方法發(fā)送到瀏覽器端。
如果需要路由功能,只需要在index.js里面添加路由處理程序就可以了。
總結(jié)
以上是生活随笔為你收集整理的svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: atoi函数_吊打面试官 | 腾讯经典考
- 下一篇: db2分页查询sql语句_MySQL学习