react中解决跨域(在开发环境下)

先附上package.json文件

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "antd": "^3.20.6",
    "axios": "^0.19.0",
    "babel-plugin-import": "^1.12.0",
    "crypto-js": "^3.1.9-1",
    "echarts": "^4.2.1",
    "http-proxy-middleware": "^0.19.1",
    "qs": "^6.7.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-resizable": "^1.8.0",
    "react-scripts": "3.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "webpack --config config/webpack.dev.conf.js",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "dev": "webpack-dev-server --config config/webpack.dev.conf.js"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/core": "^7.5.5",
    "@babel/plugin-transform-runtime": "^7.5.5",
    "@babel/preset-env": "^7.5.5",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.5",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "css-loader": "^3.1.0",
    "file-loader": "^4.1.0",
    "html-webpack-plugin": "^3.2.0",
    "less": "^3.9.0",
    "less-loader": "^5.0.0",
    "react-router-dom": "^5.0.1",
    "style-loader": "^0.23.1",
    "url-loader": "^2.1.0",
    "webpack": "^4.29.6",
    "webpack-cli": "^3.2.6",
    "webpack-dev-server": "^3.2.1"
  }
}

第一步 先下载http-proxy-middleware

npm i http-proxy-middleware --save

第二步 创建 src/setupProxy.js

const proxy = require('http-proxy-middleware');
module.exports = function(app) {
  app.use(proxy('/v1', { target: 'https://www.google.com/' }));  //target是请求接口的根地址    /v1是请求的url地址中的前缀  
//eg:https://www.google.com/v1/count/common/list  完整的接口地址
};

第三步 在webpack.dev.conf.js中的devServer项进行配置 webpack文件是自己配置的 没有暴露create-react-app的eject文件

  devServer: { // 配置webpack-dev-server, 在本地启动一个服务器运行
    host: 'localhost', // 服务器的ip地址 希望服务器外可以访问就设置 0.0.0.0
    port: 8088, // 端口
    open: true, // 自动打开页面
    historyApiFallback: true,
    proxy: {
      "/v1": {
        "target": "https://www.google.com/",
        "changeOrigin": true
        }
    }
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值