使用NODE.JS創(chuàng)建一個(gè)WEBSERVER(服務(wù)器)的步驟
什么是 nodejs
Node.js發(fā)布于2009年5月,由Ryan Dahl開發(fā),是一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境,使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式I/O模型, 讓JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺(tái),它讓JavaScript成為與PHP、Python、Perl、Ruby等服務(wù)端語言平起平坐的腳本語言。
Node.js對(duì)一些特殊用例進(jìn)行優(yōu)化,提供替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好,V8引擎執(zhí)行Javascript的速度非???,性能非常好,基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái), 用于方便地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用
安裝nodejs
檢查是否安裝成功
$ node -v v14.16.1
如何使用node創(chuàng)建hello world?
1.編寫javascript腳本文件
var foo = 'hello world' console.log(foo)
2、運(yùn)行文件
$ node filename
注:文件不能使用node命名,最好也不要使用中文
如何使用nodejs讀寫文件
// 1、使用 requrie 加載 fs 核心使用模塊 var file = require('fs') // 2、讀取文件 file.readFile('hello.txt', function(error, data){ // 文件默認(rèn)存儲(chǔ)二進(jìn)制 需要 toString if(error != null){ console.log('file dons not exits or read fail') return } console.log(data.toString()) }) // 3、寫文件 // 文件路徑 文件內(nèi)容 回調(diào)函數(shù) file.writeFile('hello.txt', 'hello world' , function(error, data){ if(error != null){ console.log('write fail') return } console.log('write success') })
使用nodejs創(chuàng)建web服務(wù)器
// 1、使用 requrie 加載 http 核心使用模塊 var http = require('http') // 2、http.createServer 創(chuàng)建服務(wù)器實(shí)例 var server = http.createServer() // 3、創(chuàng)建請(qǐng)求響應(yīng) server.on('request', function(request, response){ console.log('正在請(qǐng)求接口...') response.write('Hello World') // 必須 end 方法結(jié)束 response.end() }) // 4、綁定端口號(hào) 啟動(dòng)服務(wù)器 server.listen(8090, function(){ console.log('Server running at http://127.0.0.1:8090/') })
如何根據(jù)不同的請(qǐng)求路徑返回不同數(shù)據(jù)
var http = require('http') var server = http.createServer(); server.on('request', function(request, response){ // 獲取請(qǐng)求路徑 var url = request.url // 根據(jù)請(qǐng)求路徑返回不同的信息 if (url == '/') { response.end('index page') } else if (url == '/login') { response.end('login page') } else { response.end('404 page') } }) server.listen('8081', function(){ console.log('Server running at http://127.0.0.1:8081/'); })
將數(shù)據(jù)響應(yīng)到前端
響應(yīng)(返回)的內(nèi)容只能是 二進(jìn)制數(shù)據(jù)或者是字符串
[ { "name": "Iphone 12", "price": 6799 }, { "name": "MacBook Air M1", "price": 7999 } ]
如果想將數(shù)據(jù)返回到頁面上,只能將json數(shù)據(jù)組裝成字符串
if (url == '/products') { var products = [ { name : 'Iphone 12', price : 6799 }, { name : 'MacBook Air M1', price : 7999 } ] response.end(JSON.stringify(products)) }
以上就是使用NODE.JS創(chuàng)建一個(gè)WEBSERVER的步驟的詳細(xì)內(nèi)容,更多關(guān)于Node.js創(chuàng)建WEBSERVER的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 詳解node.js創(chuàng)建一個(gè)web服務(wù)器(Server)的詳細(xì)步驟
- node.js使用net模塊創(chuàng)建服務(wù)器和客戶端示例【基于TCP協(xié)議】
- node.js基于dgram數(shù)據(jù)報(bào)模塊創(chuàng)建UDP服務(wù)器和客戶端操作示例
- node.js使用 http-proxy 創(chuàng)建代理服務(wù)器操作示例
- node.js使用http模塊創(chuàng)建服務(wù)器和客戶端完整示例
- Node.js創(chuàng)建HTTP文件服務(wù)器的使用示例
- Node.js創(chuàng)建Web、TCP服務(wù)器
- Node.js創(chuàng)建一個(gè)簡單的服務(wù)器的實(shí)現(xiàn)
相關(guān)文章
node如何將package.json中的包降為低版本或者升級(jí)為高版本
比如現(xiàn)在你用某個(gè)包的當(dāng)前版本,但是你安裝的版本高了,那么你應(yīng)該這么做,首先刪除node項(xiàng)目中的node_modules目錄,防止安裝時(shí)的包不一致,下面給大家介紹node將package.json中的包降為低版本或者升級(jí)為高版本的方法,感興趣的朋友一起看看吧2023-11-11Node.js模擬發(fā)起http請(qǐng)求從異步轉(zhuǎn)同步的5種用法
這篇文章主要介紹了Node.js模擬發(fā)起http請(qǐng)求從異步轉(zhuǎn)同步的5種方法,下面總結(jié)了幾個(gè)常見的庫 API 從異步轉(zhuǎn)同步的幾種方法。需要的朋友可以參考下2018-09-09如何利用Node.js與JSON搭建簡單的動(dòng)態(tài)服務(wù)器
這篇文章主要給大家介紹了關(guān)于如何利用Node.js與JSON搭建簡單的動(dòng)態(tài)服務(wù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Nodejs 搭建簡單的Web服務(wù)器詳解及實(shí)例
這篇文章主要介紹了Nodejs 搭建簡單的Web服務(wù)器詳解及實(shí)例的相關(guān)資料,并附實(shí)例代碼和實(shí)現(xiàn)效果圖,需要的朋友可以參考下2016-11-11什么是MEAN?JavaScript編程中的MEAN是什么意思?
這篇文章主要介紹了什么是MEAN?JavaScript編程中的MEAN是什么意思?,跟lampp一樣,MEAN是指現(xiàn)代web應(yīng)用全棧開發(fā)工具一個(gè)組合,需要的朋友可以參考下2014-12-12