一、node.js搭建最简单的服务器
生活随笔
收集整理的這篇文章主要介紹了
一、node.js搭建最简单的服务器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
node.js搭建最簡單的服務器
代碼演示:
// 1. 加載http核心模塊 var http = require('http')// 2. 使用http.createServer()方法創建一個Web服務器 // 返回一個Server實例 var server = http.createServer()// 3. 服務器干嘛? // 提供服務: 對數據的服務 // 發請求 // 接受請求 // 處理請求 // 給個反饋(發送響應)// 注冊request請求事件,當客戶端請求過來,就會自動觸發服務器 // 的request事件,然后執行第二個參數:回調處理函數 server.on('request', function() {console.log('收到客戶端的請求了') })// 4. 綁定端口號,啟動服務器 server.listen(3000, function() {console.log('服務器啟動成功,可以通過 http://127.0.0.1:3000/ 來進行訪問') })2. 加上request參數
var http = require('http')var server = http.createServer()// request請求事件處理函數,需要接受兩個參數: // Request 請求對象 // 請求對象可以用來獲取客戶端的一些請求信息,例如請求路徑 // Response 響應對象 // 響應對象可以用來給客戶端發送響應消息 server.on('request', function(request,response) {console.log('收到客戶端的請求了,請求路徑是:' + request.url) })server.listen(3000, function() {console.log('服務器啟動成功,可以通過 http://127.0.0.1:3000/ 來進行訪問') })
3. 加上response
var http = require('http')var server = http.createServer()// request請求事件處理函數,需要接受兩個參數: // Request 請求對象 // 請求對象可以用來獲取客戶端的一些請求信息,例如請求路徑 // Response 響應對象 // 響應對象可以用來給客戶端發送響應消息 server.on('request', function(request,response) {console.log('收到客戶端的請求了,請求路徑是:' + request.url)// response 對象有一個方法: write可以用來給客戶端發送響應數據// write 可以使用多次,但是最后一定要使用end來結束響應,否則客戶端會一直等待response.write('hello')response.write('nodejs')// 告訴客戶端,我的話說完了,你可以呈遞給用戶了response.end() })server.listen(3000, function() {console.log('服務器啟動成功,可以通過 http://127.0.0.1:3000/ 來進行訪問') })4.根據不同的請求路徑響應不同的數據
var http = require('http')var server = http.createServer()// request請求事件處理函數,需要接受兩個參數: // Request 請求對象 // 請求對象可以用來獲取客戶端的一些請求信息,例如請求路徑 // Response 響應對象 // 響應對象可以用來給客戶端發送響應消息 server.on('request', function(request,response) {console.log('收到客戶端的請求了,請求路徑是:' + request.url)// response 對象有一個方法: write可以用來給客戶端發送響應數據// write 可以使用多次,但是最后一定要使用end來結束響應,否則客戶端會一直等待/* response.write('hello')response.write('nodejs') */// 告訴客戶端,我的話說完了,你可以呈遞給用戶了/* response.end() */// 思考:我希望當請求不同的路徑的時候響應不同的結果if (request.url == '/hello') {response.write('hello')response.end()} else if (request.url == '/node') {response.write('node')response.end()} else {response.write('/index')response.end()}})server.listen(3000, function() {console.log('服務器啟動成功,可以通過 http://127.0.0.1:3000/ 來進行訪問') })
5. 模塊導入導出
6. 端口號
var http = require('http')var server = http.createServer()// request請求事件處理函數,需要接受兩個參數: // Request 請求對象 // 請求對象可以用來獲取客戶端的一些請求信息,例如請求路徑 // Response 響應對象 // 響應對象可以用來給客戶端發送響應消息 server.on('request', function(request,response) {console.log('收到客戶端的請求了,請求路徑是:' + request.url)response.setHeader("Content-type","text/html; charset=utf-8")console.log('請求我的客戶端的地址是', request.socket.remoteAddress , request.socket.remotePort)// response 對象有一個方法: write可以用來給客戶端發送響應數據// write 可以使用多次,但是最后一定要使用end來結束響應,否則客戶端會一直等待/* response.write('hello')response.write('nodejs') */// 告訴客戶端,我的話說完了,你可以呈遞給用戶了/* response.end() */// 思考:我希望當請求不同的路徑的時候響應不同的結果if (request.url == '/hello') {response.write('hello')response.end()} else if (request.url == '/products') {var products = [{name: '蘋果X',price: 8888},{name: '小辣椒',price: 1999},{name: '菠蘿X',price: 5000}]// 響應內容只能是二進制數據或者字符串response.end(JSON.stringify(products))} else {response.write('/index')response.end()} })server.listen(3000, function() {console.log('服務器啟動成功,可以通過 http://127.0.0.1:3000/ 來進行訪問') })7. 讀取服務器本地的文本文件和圖片
var http = require('http')var fs = require('fs')var server = http.createServer()server.on('request', function(request, response) {// /index.htmlvar url = request.urlif(url === '/') {// res.end('<!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body><h1>首頁</h1></body></html>')// 我們要發送的還是在文件中的內容fs.readFile('./resources/index.html', function(err, data) {if(err) {response.setHeader('Content-Type', 'text/plain;charset=utf-8')response.end('文件讀取失敗,請稍后重試!')} else {// data默認是二進制數據,可以通過 .toString轉換成我們能識別的字符串// response.end()支持兩種數據類型,一種是二進制,一種是字符串response.setHeader('Content-Type', 'text/html;charset=utf-8')response.end(data)}})} else if (url === '/p1.jpg') {fs.readFile('./resources/p1.jpg', function(err, data){if(err) {response.setHeader('Content-Type', 'text/plain;charset=utf-8')response.end('文件讀取失敗,請稍后重試!')} else {response.setHeader('Content-Type', 'image/jpeg')response.end(data)}})}})server.listen(3000, function() {console.log('Server is running...') }) 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的一、node.js搭建最简单的服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chapter7-10_Deep Lea
- 下一篇: Yolo系列知识点梳理(Yolov1-v