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 文件
引用 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' },
})
);
create-react-app 中设置反向代理、项目打包资源引入路径设置及 map 文件的更多相关文章
- Nginx 如何设置反向代理 多服务器,配置区分开来,单独文件保存单个服务器 server 主机名配置,通过  include 实现
		
samcao 关注 2015.06.15 10:08* 字数 0 阅读 408评论 0喜欢 0 网络结构如上图.可能你只有一个公网的Ip地址. 但是您的内网有个网站需要映射至外网.而又不想添加其它 ...
 - nginx设置反向代理后端jenklins,页面上的js css文件无法加载
		
转载 2017年06月14日 22:36:59 8485 问题现象: nginx配置反向代理后,网页可以正常访问,但是页面上的js css文件无法加载,页面样式乱了. (1)nginx配置如下: (2 ...
 - 在 .NET Core 5 中集成 Create React app
		
翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...
 - 深入 Create React App 核心概念
		
本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...
 - Vue-CLI 3.x 设置反向代理
		
最近在项目中使用了Vue CLI 3.0版本,项目中需要设置反向代理解决跨域问题,下面记录一下设置过程. 新建配置文件 (vue-cli3.x 官网的配置文档 https://cli.vuejs.or ...
 - 如何扩展 Create React App 的 Webpack 配置
		
如何扩展 Create React App 的 Webpack 配置 原文地址https://zhaozhiming.github.io/blog/2018/01/08/create-react-a ...
 - Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存
		
Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...
 - SVN 通过IIS设置反向代理访问
		
原因 一个字,穷,没办法,只有一台机器 要当测试服务器还要做源码管理. 解决办法 通过IIS配置反向代理访问SVN,给SVN访问的HTTPS绑定上域名,就可以正常访问了. 1.修改SVN配置 把SVN ...
 - 安装Nginx并为node.js设置反向代理
		
最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请 ...
 
随机推荐
- jquery动态生成二维码添加自定义logo
			
动态生成二维码中间带logo. jquery.qrcode.js 动态生成二维码api很简单. 引入jquer(版本任意),引入jquery.qrcode.js 不需要中间带logo这样就可以了.带l ...
 - Python变量的命名 单下划线和双下划线
			
python命名变量的区别 foo: 一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突,就是例如__init__(),__del__(),__call__()这些特殊方法 _f ...
 - jQuery匹配id 批量修改css属性
			
<ul id="foreignCurrencyTree_1_ul"> <li id="foreignCurrencyTree_11_li"&g ...
 - 洛谷 2042 BZOJ 1500 NOI 2005 维护数列
			
[题意概述] 维护一个数列,要求支持以下6种操作: [题解] 大Boss...可以用Treap解决 需要用到垃圾回收.线性建树. #include<cstdio> #include< ...
 - Maven pom  配置简介
			
1. groupId artifactId version 2. dependencies 3. plugins http://shmilyaw-hotmail-com.iteye.com/blog/ ...
 - Divisible Group Sums
			
Divisible Group Sums Given a list of N numbers you will be allowed to choose any M of them. So you c ...
 - RestEasy用户指南---第6章.@QueryParam
			
转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...
 - 理解linux安装软件
			
http://www.codecoffee.com/tipsforlinux/articles/27.html -------------------------------------------- ...
 - 利用keepalive和timeout来推断死连接
			
问题是这样出现的. 操作:client正在向服务端请求数据的时候,突然拔掉client的网线. 现象:client死等.服务端socket一直存在. 在网上搜索后,须要设置KEEPALIVE属性. 于 ...
 - 关于MySQL错误 2005 - Unknown MySQL server host 'localhost' (0) 原因及解决方法
			
今天在外面开navicat for mysql的时候,怎么也连不上自己本机上的数据库,一直显示2005 - Unknown MySQL server host 'localhost' (0): 错误代 ...