教你如何用Node實(shí)現(xiàn)API的轉(zhuǎn)發(fā)(某音樂(lè))
前言
你有沒(méi)有過(guò)這樣的經(jīng)歷:每當(dāng)想寫個(gè)項(xiàng)目來(lái)學(xué)習(xí)新技術(shù)的時(shí)候,卻發(fā)現(xiàn)因?yàn)闆](méi)有一套成熟的免費(fèi)接口,而導(dǎo)致想法被扼殺搖籃。前段時(shí)間,筆者準(zhǔn)備學(xué)一下hooks的姿勢(shì);苦于沒(méi)有比較好的數(shù)據(jù)源。然后就找到了這個(gè)倒霉的咪咕音樂(lè),并成功實(shí)現(xiàn)了接口轉(zhuǎn)發(fā)。
本文主要用到了 Node、Express
Node、Express
Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
Node.js 使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型,使其輕量又高效。
Express 基于 Node.js 平臺(tái),快速、開放、極簡(jiǎn)的 Web 開發(fā)框架
快速上手
文檔目錄 ├── dist ├── node_modules ├── public │ └── index.html ├── src │ └── apiList │ ├── index.js │ └── client_play_list_tag.js │ └── ... │ └── utils │ └── request.js │ └── userAgent.js │ ├── index.js ├── package.json
package.json
{
"name": "testnodeapi",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "node src/index.js"
},
"author": "alkun",
"license": "ISC",
"dependencies": {
"axios": "^0.19.0",
"express": "^4.17.1"
}
}
第一步:配置入口文件index.ts
首先需要在導(dǎo)入下載好的安裝包,并嘗試開啟一個(gè)服務(wù)const express = require('express')
const app = express()
const port = 5555
app.use((req, res) => {
res.send('hahhaha')
})
app.listen(port, ()=>{
console.log(`Example app listening on http://127.0.0.1:${port}`)
})
第二步:安裝axios,并實(shí)現(xiàn)一個(gè)簡(jiǎn)易的轉(zhuǎn)發(fā)
...
const axios = require('axios')
app.use(async (req, res) => {
let resp = await axios({
baseURL: 'http://m.music.migu.cn/migu/remoting/',
method: 'get',
url: '/cms_list_tag',
})
res.send(resp.data)
})
app.listen(8888, () => {
console.log(`Example app listening on http://127.0.0.1:8888`)
})
第三步:我們需要把a(bǔ)xiox進(jìn)行一些封裝
待更新內(nèi)容
- 請(qǐng)求函數(shù)的封裝
- userAgent的封裝
- apiList: 不同api的封裝
注:
本文涉及的代碼還是非常簡(jiǎn)單的,更多的高大上功能還需要自己去折騰吧。
這里有完整版代碼,TS + Node + Express 歡迎 STAR STAR STAR 傳送門>>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node的process以及child_process模塊學(xué)習(xí)筆記
這篇文章主要介紹了node的process以及child_process模塊學(xué)習(xí)筆記,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Node.js?搭建后端服務(wù)器內(nèi)置模塊(?http+url+querystring?的使用)
這篇文章主要介紹了Node.js搭建后端服務(wù)器內(nèi)置模塊(http+url+querystring的使用),文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
Node.js使用MongoDB的ObjectId作為查詢條件的方法
這篇文章主要介紹了Node.js使用MongoDB的ObjectId作為查詢條件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
一文詳解Node.js服務(wù)器動(dòng)態(tài)資源處理
動(dòng)態(tài)資源處理也就是對(duì)數(shù)據(jù)進(jìn)行重新排序來(lái)讀寫數(shù)據(jù)庫(kù),讀取反序列化,寫入序列化,這篇文章主要來(lái)和大家聊聊Node.js中的服務(wù)器動(dòng)態(tài)資源處理,感興趣的可以了解下2024-04-04
nodejs中express入門和基礎(chǔ)知識(shí)點(diǎn)學(xué)習(xí)
這篇文章給大家分享了關(guān)于學(xué)習(xí)nodejs中express入門和基礎(chǔ)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們參考下。2018-09-09
Nodejs實(shí)現(xiàn)WebSocket代碼實(shí)例
這篇文章主要介紹了Nodejs實(shí)現(xiàn)WebSocket代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05

