create-react-app 中设置反向代理、项目打包资源引入路径设置及 map 文件

1、配置反向代理

(1)porxy 配置一个代理

  修改package.json文件

"proxy":"http://teng.com/website/web",

(2)proxy配置多个代理

  注意:若create-react-app 的版本在低于 2.0 的时候可以在 package.json 增加 proxy 配置即可, 配置成如下

  "name": "wangguan",
  "version": "0.1.0",
  "private": true,
  "proxy":{
    "/api1": {
        "target": "http://teng.com/website/web",
        "ws": true
      },
   "/api2": {
        "target": "http://teng.com/website/web",
        "ws": true
      }
  },

  但是如果 create-react-app 的版本在高于于 2.0 的时候, 以上配置就会报错:提示只支持string类型,不支持object 即 : "proxy" in package.json must be a string.

  解决方案:

  <1> 安装  http-proxy-middleware

$ npm install http-proxy-middleware --save
$ # or
$ yarn add http-proxy-middleware

  <2>在src目录下创建 setupProxy.js 文件,并写入一下代理设置

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

module.exports = function (app) {
  app.use(proxy('/api1', {
    target: 'http://teng.com/website/web',
    secure: false,
    changeOrigin: true,
    pathRewrite: {
      "^/api1": "/"
    },
  }));
  app.use(proxy('/api2', {
    target: 'http://teng.com/website/web',
    secure: false,
    changeOrigin: true,
    pathRewrite: {
      "^/api2": "/"
    }
  }));
};

  亲测有效 , 相关配置可见官网 : https://facebook.github.io/create-react-app/docs/proxying-api-requests-in-development

 

2、项目打包时,要想将引入资源的路径改成相对路径(‘./’),可直接在 package.json 文件中添加以下配置即可

"homepage": "."

 3、取消打包生成的 .map 文件

方法1:引用 antd 后设置按需引入后,在打包的时候会生成很多 .map 文件,所以需要在 config-overrides.js 中插入下边的代码

process.env.GENERATE_SOURCEMAP = "false";

即:

/* config-overrides.js */
const { override, fixBabelImports, addLessLoader } = require("customize-cra");

process.env.GENERATE_SOURCEMAP = "false";

module.exports = override(
  fixBabelImports("import", {
    libraryName: 'antd',
    libraryDirectory: "es",
    style: true,
  }),
  addLessLoader({
    javascriptEnabled: true,
    modifyVars: { '@primary-color': '#1DA57A' },
  })
);

 方法2:在项目根目录,也就是src同级目录新建文件.env文件,并写入如下代码即可

GENERATE_SOURCEMAP = false

然后重新执行命令:yarn build 即可

posted @ 2019-06-13 10:57  ~逍遥★星辰~  阅读(1362)  评论(0编辑  收藏  举报