利用node搭建一個開發(fā)代理服務(wù)器

前段時間,做了一下小項目,項目使用的是傳統(tǒng)的HTML+CSS+JS,沒有采用現(xiàn)在的主流框架,并且是前后端分離的項目,所以面臨了一個跨域問題和本地開發(fā)服務(wù)器(沒有和后端同學(xué)在一起),不要廢話,下面是我用 node 搭建的一個本地服務(wù)器


準(zhǔn)備條件

  • node,npm

搭建項目目錄

1553237208(1).jpg
  1. 初始化項目
npm init -y
  1. 創(chuàng)建目錄 view 和文件 app.js,view目錄下放我們的項目,app.js 一會用來啟動本地服務(wù)和配置本地代理
  2. 安裝相關(guān)依賴,只需要兩個個依賴包,express是Web 開發(fā)框架,http-proxy-middleware 就是我們的代理包
npm install express http-proxy-middleware -S
  1. 編寫app.js, 示例如下:
// 導(dǎo)入express,路徑包,子進程中的異步進程,代理,設(shè)置項目根目錄
const express = require('express')
const path = require('path')
const {exec} = require("child_process")
const proxyMiddleWare = require("http-proxy-middleware")
const root = path.join(__dirname, './view')
// 生成express實例,配置代理,啟動服務(wù)
const app = express();
// 配置代理設(shè)置項  HOST:為目標(biāo)服務(wù)器 POST:為啟動服務(wù)端口 
const { HOST = 'http://123.56.231.107:8081/', PORT = '8899' } = {}
const proxyOption ={target:HOST,changeOrigoin:true}
app.set('port', PORT);
// 設(shè)置根目錄為靜態(tài)資源
app.use('/', express.static(root))
// 使用反向代理
app.use("/api",proxyMiddleWare(proxyOption))
// 啟動服務(wù)
app.listen(app.get('port'), () => {
    let url = `http://localhost:${app.get('port')}`
  // 自動打開默認(rèn)瀏覽器
    switch (process.platform) {
        case "darwin":
            exec(`open ${url}`);
        case "win32":
            exec(`start ${url}`);
        default:
            exec(`open ${url}`);
    }
})
  1. 在根文件夾內(nèi)打開控制臺啟動項目 node ./app.js
  2. 如果想要手機查看,打開 cmd 窗口,輸入 ipconfig 查看本機ip,然后在手機瀏覽器輸入本機 ip + 端口號,即可查看,如果無法訪問,請關(guān)閉電腦防火墻。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容