node.js三個(gè)步驟實(shí)現(xiàn)一個(gè)服務(wù)器及Express包使用
用http 模塊寫一個(gè)簡(jiǎn)單的web服務(wù)器
第一步:新建一個(gè)文件,名為 d:/src/http.js( 文件名及路徑名可以自行設(shè)置,建議均不使用中文字符), 內(nèi)容如下
// 1. 引入http模塊
const http = require('http');
// 2. 創(chuàng)建服務(wù)
const server = http.createServer(function(req, res) {
//輸入請(qǐng)求頭后end才可以返回中文,不然會(huì)亂碼
res.setHeader('content-type', 'text/html;charset=utf8')
// 向客戶端發(fā)送內(nèi)容,并結(jié)束本次響應(yīng)
res.end('I wanted to see how far I could go');
});
// 3. 啟動(dòng)服務(wù)
server.listen(8081, function() {
console.log('服務(wù)器啟動(dòng)成功,請(qǐng)?jiān)趆ttp://localhost:8081中訪問(wèn)....');
});第二步:運(yùn)行js代碼,啟動(dòng)服務(wù)。
在小黑窗中進(jìn)入到01http.js所在的目錄,鍵入命令 node 01http.js,此時(shí)會(huì)彈出一個(gè)小黑窗,不要關(guān)。
第三步:測(cè)試功能
打開一個(gè)瀏覽器頁(yè)面,輸入地址:http://localhost:8081,觀察效果:
- 瀏覽器中的效果
- 小黑窗中的效果
停止服務(wù):ctrl + c
注意:
- 小黑窗不要關(guān),它就是服務(wù)器
- 服務(wù)器本身不會(huì)有主動(dòng)行為(小黑窗看起來(lái)沒有任何變化),它在時(shí)刻等待客戶端的訪問(wèn)
- 不要用鼠標(biāo)選中小黑窗的內(nèi)容,會(huì)導(dǎo)致程序假死
- 修改代碼后要重啟
- 更改res.end()的內(nèi)容,
重啟后,再次觀察。 - 重啟服務(wù):就是重新運(yùn)行程序(按下向上的箭頭,再回車)。
- 更改res.end()的內(nèi)容,
代碼用圖表示:

常見的幾種文件類型及content-type
- .html:
res.setHeader('content-type', 'text/html;charset=utf8') - .css:
res.setHeader('content-type', 'text/css;charset=utf8') - .js:
res.setHeader('content-type', 'application/javascript') - .png:
res.setHeader('content-type', 'image/png') - json數(shù)據(jù):
res.setHeader('content-type', 'application/json;charset=utf-8')
其它類型,參考這里
Express基本介紹
Express 是一個(gè)基于 Node.js 平臺(tái),快速、開放、極簡(jiǎn)的 web 開發(fā)框架。
- 框架:是一個(gè)半成品,用來(lái)快速解決一類問(wèn)題;庫(kù)就是工具集,使用非常靈活) (框架有:bootstrap, lay-ui, express, vue, react ; 庫(kù):zepto.js , jQuery, day.js, underscore, lodash, art-template, axios, echart.....)
- web 開發(fā): 對(duì)不同的請(qǐng)求能夠顯示頁(yè)面;提供接口服務(wù);
理解:
- 我們前面用http模塊來(lái)支持web服務(wù),現(xiàn)在要用express來(lái)寫web服務(wù)
- 對(duì)于node.js來(lái)說(shuō),Express 是一個(gè)第三方模塊,有豐富的 API 支持,強(qiáng)大而靈活的中間件特性
Express使用
- 創(chuàng)建一個(gè)全新的文件夾,假設(shè)名字為 new-express(目錄名不要有漢字,也不要某個(gè)包的名字),在此目錄下運(yùn)行
npm init -y命令來(lái)生成package.json文件 - 與安裝其他的第三方包一致,本地安裝
npm i express - 在項(xiàng)目根目錄下新建一個(gè)js文件,例如app.js,其中輸入代碼如下:
// 0. 加載 Express
const express = require('express')
// 1. 調(diào)用 express() 得到一個(gè) app
const app = express()
//靜態(tài)資源委托
app.use(express.static('public'))
// 3. 監(jiān)聽端口號(hào),啟動(dòng) Web 服務(wù)
app.listen(3000, () => console.log('app listening on port 3000!'))public是我自己創(chuàng)建的一個(gè)文件夾,什么html,js,css,img之類的可以全丟里面.運(yùn)行的時(shí)候需要資源會(huì)自動(dòng)去public文件夾里翻找.具體使用請(qǐng)查文檔吧
到此這篇關(guān)于node.js三個(gè)步驟實(shí)現(xiàn)一個(gè)服務(wù)器及Express包使用的文章就介紹到這了,更多相關(guān)node.js服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter
我們了解到,Node采用了事件驅(qū)動(dòng)機(jī)制,而EventEmitter就是Node實(shí)現(xiàn)事件驅(qū)動(dòng)的基礎(chǔ),本文主要介紹了node.js自定義實(shí)現(xiàn)EventEmitter,感興趣的可以了解一下2021-07-07
Webpack 實(shí)現(xiàn) Node.js 代碼熱替換
Webpack有一個(gè)很實(shí)用的功能叫做熱替換(Hot-replace),尤其是結(jié)合React Hot Loader插件,開發(fā)過(guò)程中都不需要刷新瀏覽器,任何前端代碼的更改都會(huì)實(shí)時(shí)的在瀏覽器中表現(xiàn)出來(lái)。2015-10-10
nodejs與瀏覽器中全局對(duì)象區(qū)別點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于nodejs與瀏覽器中全局對(duì)象區(qū)別點(diǎn)總結(jié)內(nèi)容,對(duì)此有需要的朋友們可以學(xué)習(xí)下。2021-12-12
手把手教你用node.js搭建一個(gè)Web服務(wù)
Web服務(wù)器一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序,下面這篇文章主要給大家介紹了關(guān)于用node.js搭建一個(gè)Web服務(wù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
node.js實(shí)現(xiàn)為PDF添加水印的示例代碼
這篇文章主要介紹了node.js實(shí)現(xiàn)為PDF添加水印的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Node使用Selenium進(jìn)行前端自動(dòng)化操作的代碼實(shí)現(xiàn)
這篇文章主要介紹了Node使用Selenium進(jìn)行前端自動(dòng)化操作的代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
解決npm?run?serve啟動(dòng)報(bào)錯(cuò)npm?ERR?Missing?script:"serve&q
這篇文章主要給大家介紹了關(guān)于解決npm?run?serve啟動(dòng)報(bào)錯(cuò)npm?ERR?Missing?script:"serve"的相關(guān)資料,這是最近開發(fā)中遇到的一個(gè)問(wèn)題,文中通過(guò)圖文將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01

