首页 > 代码库 > node+express+http-proxy-middleware做代理
node+express+http-proxy-middleware做代理
最近,不赶着做项目,于是想着怎样做公司的前后端分离,这个时候想到了nodejs,于是打算今天做一个代理的demo,其实代码很简单,但是一直卡在一个地方,现在问题解决了,贴上代码和截图。
html
<!DOCTYPE html> <html> <head> <title>首页</title> <meta charset="utf-8"> <script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script> <style type="text/css"> .hello{ color: #428bca; } </style> </head> <body> <h3>这是index页面</h3> <span class="hello">你可以点击这里</span> <script type="text/javascript"> $(function(){ var contextPath = ‘http://localhost:3000‘; $(‘.hello‘).on(‘click‘,function(){ $.ajax({ type:‘get‘, data:‘click‘, url:contextPath+‘/api/hello‘, success:function(data){ console.log(data); }, error:function(data){ console.log(data); } }) }) }) </script> </body> </html>
localhost:3000服务端的代码
const express = require(‘express‘); const proxy = require(‘http-proxy-middleware‘); const app = express(); app.use(express.static(‘public‘)); //app.use(express.static(‘client‘)); // Add middleware for http proxying const apiProxy = proxy(‘/api‘, { target: ‘http://localhost:8080‘,changeOrigin: true }); app.use(‘/api/*‘, apiProxy); // Render your site app.get(‘/index.htm‘, function(req,res){ res.sendFile(__dirname+‘/src/index.html‘); }); app.listen(3000, () => { console.log(‘Listening on: http://localhost:3000‘); });
localhost:8080服务上的代码
var express = require(‘express‘); var app = express(); app.use(express.static(‘public‘)); var server = app.listen(8080,function(){ var host = server.address().address; var port = server.address().port; console.log(‘应用实例,访问地址为 http://%s:%s‘,host,port); }) app.get(‘/api/hello‘, function(req,res){ let data = http://www.mamicode.com/{}"name"] = "lucy"; data["age"] = "23"; res.send(data); });
项目结构截图
node+express+http-proxy-middleware做代理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。