臺(tái)州做網(wǎng)站公司windows優(yōu)化大師好嗎
使用Node.js搭建服務(wù)器
1.安裝Node.js和npm
-
安裝教程自行搜索(好多),建議Node.js直接安裝在C盤
-
注意鏡像的設(shè)置:
npm install -g cnpm --registry=https://registry.npm.taobao.org
-
注意版本檢查:
//以下是我使用的版本號(hào) node -v v14.21.2 npm -v 6.14.17
2.創(chuàng)建一個(gè)空的文件夾,打開該路徑下的終端(快捷鍵cmd+Enter)
- 輸入
npm init
初始化項(xiàng)目 ,設(shè)置一下 package name(正常起個(gè)名),后續(xù)一路回車即可,直到文件夾中出現(xiàn) package.json 文件。 - 注意:如果覺(jué)得麻煩直接
npm init -y
創(chuàng)建,生成一個(gè)默認(rèn)的 package.json 文件
3.安裝Express框架輸入: npm i express
4.創(chuàng)建 server.js 文件,在文件中寫上以下代碼:
//導(dǎo)入express
const express = require('express');
//創(chuàng)建web服務(wù)器
const app = express();// 通過(guò)app.listen進(jìn)行服務(wù)器的配置,并啟動(dòng)服務(wù)器
//接收兩個(gè)配置參數(shù),一個(gè)是對(duì)應(yīng)的端口號(hào),一個(gè)是啟動(dòng)成功的回調(diào)函數(shù)
app.listen(5000,()=>{console.log('5000端口服務(wù)器啟動(dòng)成功');
})
//結(jié)合React的github案例的server.js文件
const express = require("express")
const axios = require("axios")
const app = express()app.get("/search/users", function (req, res) {const {q} = req.queryaxios({url: 'https://api.github.com/search/users',params: {q}}).then(response => {res.json(response.data)}).catch(error => {// 捕獲請(qǐng)求失敗的情況,并返回適當(dāng)?shù)腻e(cuò)誤信息給客戶端if (error.response) {// 請(qǐng)求已經(jīng)發(fā)出,但是服務(wù)器返回了非2xx的狀態(tài)碼res.status(error.response.status).json({ error: error.response.statusText });} else if (error.request) {// 請(qǐng)求發(fā)出了,但是沒(méi)有收到響應(yīng)res.status(500).json({ error: "No response from server" });} else {// 其他錯(cuò)誤res.status(500).json({ error: error.message });}});
})app.get("/search/users2", function (req, res) {res.json({items: [{login: "yyx990803",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 1,},{login: "red456",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 2,},{login: "yyx9908032",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 3,},{login: "Banner",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 4,},{login: "yyx9908033",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 5,},{login: "abc3344",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 6,},{login: "yyx9908034",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 7,},{login: "apple822",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 8,},{login: "yyx9908035",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 9,},],});
});app.listen(5000, "localhost", (err) => {if (!err){console.log("服務(wù)器啟動(dòng)成功")console.log("請(qǐng)求github真實(shí)數(shù)據(jù)請(qǐng)?jiān)L問(wèn):http://localhost:5000/search/users")console.log("請(qǐng)求本地模擬數(shù)據(jù)請(qǐng)?jiān)L問(wèn):http://localhost:5000/search/users2")} else console.log(err);
5.運(yùn)行服務(wù)器輸入:node server.js
-
如果你覺(jué)得麻煩,可以更改
package.json
文件的配置"scripts": {"start": "node server.js" },
-
更改完畢運(yùn)行服務(wù)器輸入:
npm start