使用express來(lái)代理服務(wù)的方法
nodejs和nginx都可以反向代理,解決跨域問(wèn)題。
本地服務(wù)
const express = require('express')
const app = express()
//如果它在最前面,后面的/開(kāi)頭的都會(huì)被攔截
app.get('/', (req, res) => res.send('Hello World!'))
app.use(express.static('public'));//靜態(tài)資源
app.use('/dist', express.static(path.join(__dirname, 'public')));//靜態(tài)資源
//404
app.use('/test', function (req, res, next) {
res.status(404).send("Sorry can't find that!");
});
app.use(function (req, res, next) {
//TODO 中間件,每個(gè)請(qǐng)求都會(huì)經(jīng)過(guò)
next();
});
app.use(function (err, req, res, next) {
//TODO 失敗中間件,請(qǐng)求錯(cuò)誤后都會(huì)經(jīng)過(guò)
console.error(err.stack);
res.status(500).send('Something broke!');
next();
});
app.listen(4000, () => console.log('Example app listening on port 4000!'))
與request配合使用
這樣就將其它服務(wù)器的請(qǐng)求代理過(guò)來(lái)了
const request = require('request');
app.use('/base/', function (req, res) {
let url = 'http://localhost:3000/base' + req.url;
req.pipe(request(url)).pipe(res);
});
使用http-proxy-middleware
const http_proxy = require('http-proxy-middleware');
const proxy = {
'/tarsier-dcv/': {
target: 'http://192.168.1.190:1661'
},
'/base/': {
target: 'http://localhost:8088',
pathRewrite: {'^/base': '/debug/base'}
}
};
for (let key in proxy) {
app.use(key, http_proxy(proxy[key]));
}
監(jiān)聽(tīng)本地文件變化
使用nodemon插件。
--watch test指監(jiān)聽(tīng)根目錄下test文件夾的所有文件,有變化就會(huì)重啟服務(wù)。
"scripts": {
"server": "nodemon --watch build --watch test src/server.js"
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳解Node中module.exports和exports區(qū)別
這篇文章主要介紹了一文詳解Node中module.exports和exports區(qū)別2023-03-03
node.js 中國(guó)天氣預(yù)報(bào) 簡(jiǎn)單實(shí)現(xiàn)
本文主要介紹使用node.js做一個(gè)自用的天氣插件,需要的朋友可以參考下。2016-06-06
node.js事件輪詢機(jī)制原理知識(shí)點(diǎn)
在本篇文章里小編給大家分享的是一篇關(guān)于node.js事件輪詢機(jī)制的相關(guān)知識(shí)點(diǎn)文章,有興趣的朋友們可以參考下。2019-12-12
nodejs基于mssql模塊連接sqlserver數(shù)據(jù)庫(kù)的簡(jiǎn)單封裝操作示例
這篇文章主要介紹了nodejs基于mssql模塊連接sqlserver數(shù)據(jù)庫(kù)的簡(jiǎn)單封裝操作,結(jié)合實(shí)例形式分析了nodejs中mssql模塊的安裝與操作sqlserver數(shù)據(jù)庫(kù)相關(guān)使用技巧,需要的朋友可以參考下2018-01-01
Node.js連接Sql Server 2008及數(shù)據(jù)層封裝詳解
這篇文章主要介紹了Node.js連接Sql Server 2008及數(shù)據(jù)層封裝,結(jié)合實(shí)例形式較為詳細(xì)的分析了nodejs連接SQL Server2008數(shù)據(jù)庫(kù)以及針對(duì)數(shù)據(jù)庫(kù)操作方法的封裝與使用相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08
詳解NodeJS框架express的路徑映射(路由)功能及控制
這篇文章主要介紹了詳解NodeJS框架express的路徑映射(路由)功能及控制,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
Nodejs學(xué)習(xí)筆記之測(cè)試驅(qū)動(dòng)
本文是本系列文章的第二篇,主要是測(cè)試針對(duì)于web后端的驅(qū)動(dòng),在開(kāi)發(fā)過(guò)程中,在開(kāi)發(fā)完成一段代碼后如果負(fù)責(zé)任而不是說(shuō)完全把問(wèn)題交給測(cè)試人員去發(fā)現(xiàn)的話,這個(gè)時(shí)候通常都會(huì)去做一些手動(dòng)的測(cè)試。2015-04-04
淺析node應(yīng)用的timing-attack安全漏洞
本篇文章給大家通過(guò)原理的原因分析了node應(yīng)用的timing-attack安全漏洞問(wèn)題,有興趣的朋友閱讀參考下。2018-02-02

