教你如何用Node實(shí)現(xiàn)API的轉(zhuǎn)發(fā)(某音樂)
前言
你有沒有過這樣的經(jīng)歷:每當(dāng)想寫個項(xiàng)目來學(xué)習(xí)新技術(shù)的時(shí)候,卻發(fā)現(xiàn)因?yàn)闆]有一套成熟的免費(fèi)接口,而導(dǎo)致想法被扼殺搖籃。前段時(shí)間,筆者準(zhǔn)備學(xué)一下hooks的姿勢;苦于沒有比較好的數(shù)據(jù)源。然后就找到了這個倒霉的咪咕音樂,并成功實(shí)現(xiàn)了接口轉(zhuǎn)發(fā)。
本文主要用到了 Node、Express
Node、Express
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
Node.js 使用了一個事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效。
Express 基于 Node.js 平臺,快速、開放、極簡的 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)入下載好的安裝包,并嘗試開啟一個服務(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)一個簡易的轉(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)容
- 請求函數(shù)的封裝
- userAgent的封裝
- apiList: 不同api的封裝
注:
本文涉及的代碼還是非常簡單的,更多的高大上功能還需要自己去折騰吧。
這里有完整版代碼,TS + Node + Express 歡迎 STAR STAR STAR 傳送門>>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Node.js數(shù)據(jù)流Stream之Readable流和Writable流用法
這篇文章介紹了Node.js數(shù)據(jù)流Stream之Readable流和Writable流的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
nodejs+axios爬取html出現(xiàn)中文亂碼并解決示例
這篇文章主要為大家介紹了nodejs+axios爬取html出現(xiàn)中文亂碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用教程
這篇文章主要給大家介紹了關(guān)于Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
Node.js靜態(tài)文件服務(wù)器改進(jìn)版
這篇文章主要介紹了Node.js靜態(tài)文件服務(wù)器改進(jìn)版的相關(guān)資料,需要的朋友可以參考下2016-01-01
用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動態(tài))
下面小編就為大家?guī)硪黄胣odejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動態(tài))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實(shí)例
這篇文章主要介紹了使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-03-03

