React

react 16 版本之后的代理

  1. // 单个代理
  2. // "proxy": "https://yapi.baidu.com/mock/44743"
  3. // 16+ 之后不允许这个写
  4. // proxy -> 'string' -> 'object'
  5. // "proxy": {
  6. // '/api': {
  7. // target: "https://yapi.baidu.com/mock/44743"
  8. // },
  9. // '/aps': {
  10. // target: "https://yapi.baidu.com/mock/44743"
  11. // }
  12. // }
  13. // 1. 去 src 目录 新建一个 setuoProxy.js
  14. // 2. 下载 http-proxy-middleware, 分为两个版本 1.0 | 2.0
  15. // 2.1 const proxy = require('http-proxy-middleware'); // 1.0
  16. // 2.2 const { createProxyMiddleware } = require('http-proxy-middleware');
  17. // 3. setupProxy
  18. // 引入 proxy
  19. const { createProxyMiddleware } = require('http-proxy-middleware');
  20. // 抛出一个函数
  21. module.exports = function(app) {
  22. // 使用
  23. app.use(
  24. // createProxyMiddleware 插件
  25. createProxyMiddleware(
  26. '/api', // 代理之后的名称
  27. {
  28. target: 'https://yapi.baidu.com/mock/44743', // 代理的地址
  29. secure: false, // 安全
  30. changeOrigin: true, // 是否设置跨域
  31. pathRewrite: { // 替换
  32. "^/api": ""
  33. },
  34. }
  35. ),
  36. );
  37. };
  38. ## 代理多个
  39. // 抛出一个函数
  40. module.exports = function(app) {
  41. // 使用
  42. app.use(
  43. // createProxyMiddleware 插件
  44. createProxyMiddleware(
  45. '/api', // 代理之后的名称
  46. {
  47. target: 'https://yapi.baidu.com/mock/44743', // 代理的地址
  48. secure: false, // 安全
  49. changeOrigin: true, // 是否设置跨域
  50. pathRewrite: { // 替换
  51. "^/api": ""
  52. },
  53. }
  54. ),
  55. createProxyMiddleware(
  56. '/aps', // 代理之后的名称
  57. {
  58. target: 'https://yapi.baidu.com/mock/44757/banner/to', // 代理的地址
  59. secure: false, // 安全
  60. changeOrigin: true, // 是否设置跨域
  61. pathRewrite: { // 替换
  62. "^/aps": ""
  63. },
  64. }
  65. ),
  66. );
  67. };