node.js三個步驟實現(xiàn)一個服務(wù)器及Express包使用
用http 模塊寫一個簡單的web服務(wù)器
第一步:新建一個文件,名為 d:/src/http.js( 文件名及路徑名可以自行設(shè)置,建議均不使用中文字符), 內(nèi)容如下
// 1. 引入http模塊
const http = require('http');
// 2. 創(chuàng)建服務(wù)
const server = http.createServer(function(req, res) {
//輸入請求頭后end才可以返回中文,不然會亂碼
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. 啟動服務(wù)
server.listen(8081, function() {
console.log('服務(wù)器啟動成功,請在http://localhost:8081中訪問....');
});第二步:運行js代碼,啟動服務(wù)。
在小黑窗中進入到01http.js所在的目錄,鍵入命令 node 01http.js,此時會彈出一個小黑窗,不要關(guān)。
第三步:測試功能
打開一個瀏覽器頁面,輸入地址:http://localhost:8081,觀察效果:
- 瀏覽器中的效果
- 小黑窗中的效果
停止服務(wù):ctrl + c
注意:
- 小黑窗不要關(guān),它就是服務(wù)器
- 服務(wù)器本身不會有主動行為(小黑窗看起來沒有任何變化),它在時刻等待客戶端的訪問
- 不要用鼠標(biāo)選中小黑窗的內(nèi)容,會導(dǎo)致程序假死
- 修改代碼后要重啟
- 更改res.end()的內(nèi)容,
重啟后,再次觀察。 - 重啟服務(wù):就是重新運行程序(按下向上的箭頭,再回車)。
- 更改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 是一個基于 Node.js 平臺,快速、開放、極簡的 web 開發(fā)框架。
- 框架:是一個半成品,用來快速解決一類問題;庫就是工具集,使用非常靈活) (框架有:bootstrap, lay-ui, express, vue, react ; 庫:zepto.js , jQuery, day.js, underscore, lodash, art-template, axios, echart.....)
- web 開發(fā): 對不同的請求能夠顯示頁面;提供接口服務(wù);
理解:
- 我們前面用http模塊來支持web服務(wù),現(xiàn)在要用express來寫web服務(wù)
- 對于node.js來說,Express 是一個第三方模塊,有豐富的 API 支持,強大而靈活的中間件特性
Express使用
- 創(chuàng)建一個全新的文件夾,假設(shè)名字為 new-express(目錄名不要有漢字,也不要某個包的名字),在此目錄下運行
npm init -y命令來生成package.json文件 - 與安裝其他的第三方包一致,本地安裝
npm i express - 在項目根目錄下新建一個js文件,例如app.js,其中輸入代碼如下:
// 0. 加載 Express
const express = require('express')
// 1. 調(diào)用 express() 得到一個 app
const app = express()
//靜態(tài)資源委托
app.use(express.static('public'))
// 3. 監(jiān)聽端口號,啟動 Web 服務(wù)
app.listen(3000, () => console.log('app listening on port 3000!'))public是我自己創(chuàng)建的一個文件夾,什么html,js,css,img之類的可以全丟里面.運行的時候需要資源會自動去public文件夾里翻找.具體使用請查文檔吧
到此這篇關(guān)于node.js三個步驟實現(xiàn)一個服務(wù)器及Express包使用的文章就介紹到這了,更多相關(guān)node.js服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js如何自定義實現(xiàn)一個EventEmitter
我們了解到,Node采用了事件驅(qū)動機制,而EventEmitter就是Node實現(xiàn)事件驅(qū)動的基礎(chǔ),本文主要介紹了node.js自定義實現(xiàn)EventEmitter,感興趣的可以了解一下2021-07-07
Webpack 實現(xiàn) Node.js 代碼熱替換
Webpack有一個很實用的功能叫做熱替換(Hot-replace),尤其是結(jié)合React Hot Loader插件,開發(fā)過程中都不需要刷新瀏覽器,任何前端代碼的更改都會實時的在瀏覽器中表現(xiàn)出來。2015-10-10
Node使用Selenium進行前端自動化操作的代碼實現(xiàn)
這篇文章主要介紹了Node使用Selenium進行前端自動化操作的代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
解決npm?run?serve啟動報錯npm?ERR?Missing?script:"serve&q
這篇文章主要給大家介紹了關(guān)于解決npm?run?serve啟動報錯npm?ERR?Missing?script:"serve"的相關(guān)資料,這是最近開發(fā)中遇到的一個問題,文中通過圖文將解決辦法介紹的非常詳細,需要的朋友可以參考下2023-01-01

