教你如何用Node實現(xiàn)API的轉(zhuǎn)發(fā)(某音樂)
前言
你有沒有過這樣的經(jīng)歷:每當(dāng)想寫個項目來學(xué)習(xí)新技術(shù)的時候,卻發(fā)現(xiàn)因為沒有一套成熟的免費接口,而導(dǎo)致想法被扼殺搖籃。前段時間,筆者準(zhǔn)備學(xué)一下hooks的姿勢;苦于沒有比較好的數(shù)據(jù)源。然后就找到了這個倒霉的咪咕音樂,并成功實現(xiàn)了接口轉(zhuǎn)發(fā)。
本文主要用到了 Node、Express
Node、Express
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(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,并實現(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`) })
第三步:我們需要把axiox進行一些封裝
待更新內(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í)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07nodejs+axios爬取html出現(xiàn)中文亂碼并解決示例
這篇文章主要為大家介紹了nodejs+axios爬取html出現(xiàn)中文亂碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Node實戰(zhàn)之不同環(huán)境下配置文件使用教程
這篇文章主要給大家介紹了關(guān)于Node實戰(zhàn)之不同環(huán)境下配置文件使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01用nodejs的實現(xiàn)原理和搭建服務(wù)器(動態(tài))
下面小編就為大家?guī)硪黄胣odejs的實現(xiàn)原理和搭建服務(wù)器(動態(tài))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實例
這篇文章主要介紹了使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實例的相關(guān)資料,需要的朋友可以參考下2016-03-03