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的请 ...
随机推荐
- 第四节:DataFrame属性及方法(下)
- (转载)python应用svm算法过程
除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...
- Java基础学习总结(72)——提升 java 代码的运行效率
前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没 ...
- (39.3) Spring Boot Shiro权限管理【从零开始学Spring Boot】
在学习此小节之前您可能还需要学习: (39.1) Spring Boot Shiro权限管理[从零开始学Spring Boot] http://412887952-qq-com.iteye.com/b ...
- Debug : array type has incomplete element type
array type has incomplete element type extern struct SoundReport SoundList[32]; ///// 多写了 st ...
- N天学习一个linux命令之yum
yum命令 用途 yum(Yellowdog Updater Modified),RedHat系Linux操作系统包管理器,基于rpm,从源远程仓库下载rpm包安装,同时解决依赖关系,使用Python ...
- 相克军_Oracle体系_随堂笔记 PPT
http://www.cnblogs.com/jyzhao/category/581259.html http://download.csdn.net/detail/yzj149286454/8960 ...
- android程序在调试时出现了套接字异常“java.net.SocketException: Permission denied”该如何解决
Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 一般是抛出 java.net.socketexception permission denied这个异常.只要你的程序 ...
- jQuery Validate 使用
jQuery Validate 使用 <script src="js/b/js/jquery.validate.js"></script> <styl ...
- JSP 获取Request 经常使用參数
<input type="hidden" id="a" value="<%=request.getScheme()%>" ...