日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器

發布時間:2024/1/23 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前提:系統安裝nodejs

搭建步驟

使用nodejs搭建服務器,簡單的來說可以分為三步:
  • require相應的模塊
  • 創建服務器
  • 配置端口
  • 啟動服務器
  • 必要的nodejs模塊

    以下模塊都是以 var http=require('http')的方式在代碼中使用
    • http 創建http服務
    • url 處理網站的url
    • path 處理服務器文件的路徑,因為同一個文件在不同操作系統中路徑的表示方法是不一樣的,需要把他處理成統一的
    • fs 讀取服務器的文件

    一個最簡單的nodejs服務器程序

    //1.require http模塊 var http=require('http') //2.創建服務器,傳入回調函數,作用是處理網頁請求 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.設置監聽的端口 server.listen(8080)

    打開終端,進入node-server文件夾,輸入node index.js,然后在瀏覽器的地址欄輸入:http://localhost:8080就可以看見hello world了

    關于代碼:

    • req代表請求,res代表響應
    • setHeader的作用是設置響應頭
    • setHeader('Content-Type','text/html;charset=utf-8')作用是告訴瀏覽這是html代碼,使用html方式去解析接收到的字符串
    • setHeader('Content-Type','text/plain;charset=utf-8')告訴瀏覽器用純文本分方式去解析接收到的字符串,頁面顯示的內容是這樣的:

    • charset=utf-8 作用是告訴瀏覽器使用utf-8方式解碼,如果不寫或者解碼方式與文件的編碼方式不一致,在網頁端會看到亂碼的情況
    • writeHead 作用是寫http狀態碼,可以自己定義,比如說writeHead(200,'hello world'),在響應頭里可以看見,但一般按照http的規定去定義

    • write 作用是向響應體里面寫入字符串,可以分多次寫入
    • end 作用是結束響應,如果不寫,網頁會一直處于加載狀態
    • listen 作用是監聽端口

    有了上面的知識,就可以寫一個簡單的靜態nodejs服務器了

    搭建簡單的靜態服務器

    服務器文件文件結構

    node-server|-index.js|-static |-css |-style.css|-js |-main.js|-img |-cat.png|-index.html //網頁的html文件

    index.js代碼:

    //加載必須的模塊 var http=require('http') var fs=require('fs') var url=require('url') var path=require('path')//定位靜態目錄的位置,根據請求找出對應的文件 function staticRoot(staticPath,req,res){var pathObj=url.parse(req.url,true)if(pathObj.pathname==='/'){pathObj.pathname+='index.html'} //讀取靜態目錄里面的文件,然后發送出去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()}}) } //創建服務器 var server=http.createServer(function(req,res){staticRoot(path.join(__dirname,'static'),req,res) }) //監聽8080端口 server.listen(8080) console.log('http://localhost:8080')

    輸入網址得到的結果

    網頁的請求狀態

    上面的代碼主要是使用nodejs的fs模塊,可以讀取服務器里面的文件,style.css、main.js、index.html和cat.png都是fs模塊根據不同的請求路徑來讀取得到的,最終通過res.write()方法發送到瀏覽器端。

    如果需要路由功能,只需要在index.js里面添加路由處理程序就可以了。

    總結

    以上是生活随笔為你收集整理的svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。