Http-proxy-middleware 报错:proxy is not a function

电玩女神 2022-10-31 00:41 414阅读 0赞

Http-proxy-middleware 报错:proxy is not a function

  • 问题重现
  • 解决办法
  • 参考文档

问题重现

在使用 http-proxy-middleware 做接口代理的时候,我用如下方式:

  1. //引入跨域中间件
  2. let proxy = require('http-proxy-middleware');
  3. //这里要注意"^/" 是匹配的路由,它会将匹配的路由进行转发,没匹配到的就不会转发。
  4. app.use('/api', proxy({
  5. //目标后端服务地址
  6. target: 'http://www.example.org',
  7. pathRewrite: {
  8. '^/api' : ''
  9. },
  10. changeOrigin: false
  11. }))

报了一个错误: proxy is not a function
在这里插入图片描述

解决办法

1、首先在 package.json 里面看一下你安装的 http-proxy-middleware 的版本

我看了 http-proxy-middleware 的官方文档,发现最新的 1.0.0 版本已经对模块的引用作了明确的要求

0.x.x版本的引用方式

  1. const proxy = require('http-proxy-middleware');

1.0.0版本的引用方式

  1. const {
  2. createProxyMiddleware } = require('http-proxy-middleware');

使用方式如下:

  1. const express = require('express');
  2. const {
  3. createProxyMiddleware } = require('http-proxy-middleware');
  4. const app = express();
  5. app.use('/api', createProxyMiddleware({
  6. target: 'http://www.example.org',
  7. changeOrigin: true
  8. }));
  9. app.listen(3000);
  10. // http://localhost:3000/api/foo/bar -> http://www.example.org/api/foo/bar

我安装的是 1.0.x 的版本,但是引用/使用方式还是用的老版本的代码,所以不行,报错了。

参考文档

npm - http-proxy-middleware

-————————(正文完)-————————-

前端学习交流群,想进来面基的,可以加群: 685486827,832485817;
![Vue学习交流][Vue] ![React学习交流][Vue]

写在最后: 约定优于配置 —— 软件开发的简约原则

-———————————————-(完)-——————————————————-

我的:
个人网站: https://neveryu.github.io/neveryu/
Github: https://github.com/Neveryu
新浪微博: https://weibo.com/Neveryu
微信: miracle421354532

更多学习资源请关注我的新浪微博…好吗

[Vue]:

发表评论

表情:
评论列表 (有 0 条评论,414人围观)

还没有评论,来说两句吧...

相关阅读