网上看了许多,大多数都是nginx做成静态项目,但是这样局限性太多,与Web项目相比许多服务端想做的验证都很麻烦,于是开始了艰难的探索之路,终于在不经意间试出来了,一把辛酸。。。

正常的打包就不说了。至于package.json里面这个hompage的参数,无所谓,最后没有用到。项目用的库就是这些,react-router4,新的路由~

看下打包出来的项目:  相比一下其他方式(做后台出家的,前端那一堆复杂的打包方法没用过~)大同小异,直接使用脚手架确实方便,

改了下生成js的名字,生成的每次都要加几个随机的字符。

首先看下路由,就是这样


接下来,讲重点!!

  Spring的@RequestMapping与Reat-Router4路由结合,这里也是最蛋疼的地方。

①如果是想要返回页面这种,比如{indexUrl},实际值是/wechat/index,

那么在Spring里面,RequestMapping 要一样!要一样!要一样!说3遍

  什么,你说路径里包含了项目的名字,比如这个项目叫 health

    那你就等着打开 http://localhost:8080/health/wechat/index 的时候GG吧,

  赶紧拿nginx做个反向代理,反正你访问的路径只能是 http://{nginx配置的域名}/wechat/index

  相当于就是说的根路径,跟拿nginx做静态服务器的那种一样,要根目录访问。这样一来,React-router的路由才和你重叠了,

  感觉就像写CSS欺骗人一样,明明这2货没啥联系,八竿子挨不着,结果实际的显示效果这2人竟然合体了......

  这个时候返回页面就交给Spring了,把打包的html改成jsp,jsp哟,这下想往页面里丢什么参数都好办了

  

然后呢,然后就没有了。接下来的路由管理就交给React-Router4了,/add 和 /submit 现在都是由路由来响应了,Spring里面就没有RequestMapping了。

  当然,你应该知道通过React-Router过去的页面,点击浏览器的刷新是要404的,这个就不解释了。


②实际项目中也还是会有通过浏览器路径跳转的,这个时候也有些蛋疼的时候,比如注册页面完成跳转到index页面。

  那么只好写多个路由打包了...这个有点蛋疼,把需要额外@RequestMapping返回的页面,同上面的方式打包

  打个包

又打个包

③接口,这个加个跨域的处理就行~

create react app 项目部署在Spring(Tomcat)项目中的更多相关文章

  1. 深入 Create React App 核心概念

    本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...

  2. 在 .NET Core 5 中集成 Create React app

    翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...

  3. 使用create react app教程

    This project was bootstrapped with Create React App. Below you will find some information on how to ...

  4. 如何扩展 Create React App 的 Webpack 配置

    如何扩展 Create React App 的 Webpack 配置  原文地址https://zhaozhiming.github.io/blog/2018/01/08/create-react-a ...

  5. tap news:week5 0.0 create react app

    参考https://blog.csdn.net/qtfying/article/details/78665664 先创建文件夹 安装create react app 这个脚手架(facebook官方提 ...

  6. 多个springboot项目部署在同一tomcat上,出现jmx错误

    多个springboot项目部署在同一tomcat上,出现jmx错误 原因:因为jmx某些东西重复,禁用jmx就可以了 endpoints.jmx.unique-names=true

  7. 【记录】Spring项目转化为Spring Web项目

    前言 在将Spring项目转化为Spring Mvc项目时出现了点问题,总是无法成功部署,查阅资料也并没有找到一个完美的解决方案,最后是参考在idea中创建maven web app项目后的目录才成功 ...

  8. Spring Boot项目部署到外部Tomcat服务器

    2017年04月27日 23:33:52 阅读数:7542 前言 Spring Boot项目一般都是内嵌tomcat或者jetty服务器运行,很少用war包部署到外部的服务容器,即使放到linux中, ...

  9. Idea+maven+tomcat部署第一个tomcat项目

    IDEA创建Maven项目及部署发布,IDEA配置Tomcat,创建java源文件夹. 此教程适合刚刚使用IDEA的新手. 工具/原料   IntelliJ IDEA 2016.3.4 apache- ...

随机推荐

  1. tomcat6 高并发配置 与优化

    server.xml配置 1.  <Connectorport="8080"protocol="HTTP/1.1" 2.  maxThreads=&quo ...

  2. 关于前端本地压缩图片,兼容IOS/Android/PC且自动按需加载文件之lrz.bundle.js

    一.介绍说明主要特点: ①在前端压缩好要上传的图片可以更快的发送给后端,因此也特别适合在移动设备上使用. ②兼容IOS/Android,修复了IOS/Android某些版本已知的BUG. ③按需加载文 ...

  3. Redis linux 外部telnet访问不通

    外部访问不通: 1.修改redis.conf中的daemonize的值设为no: 2.修改redis.conf中的bind的值127.0.0.1为linux本身的ip地址,如192.168.1.120

  4. 深入理解.net - 3.类型Type

    说到类型,.NET技术是基于通用类型系统(CTS,Common Type System)的,而CTS又是构建于公共语言架构(CLI,Common Language Infrastructure)之上, ...

  5. bestcoder round 74 div2

    随便看了一场以前的bestcoder,然后顺便写了一下,都不码的样子 有中文题面,这里就不写题目大意了 T1. 刚开始想复杂了,T1可能是4道题里面想的最久的 我们大概弄一下就可以发现,如果a[i]& ...

  6. 利用css实现hover动态效果

    .font em:hover { font-size: 2em } .font strong:hover { font-weight: normal } .font span:hover { colo ...

  7. 闲聊 “今日头条Go建千亿级微服务的实践”

      背景    今天跟同事偶然看到<今日头条Go建千亿级微服务的实践>文章,故做了一些探讨,与大家分享下,也欢迎大家多多共同探讨!.     其他资料:   如何理解 Golang 中“不 ...

  8. python_code list_1

    >>> def is_not_empty(s): return s and len(s.strip()) > 0 >>> filter(is_not_empt ...

  9. spring中bean的scope属性理解

    bean的scope属性有prototype,singleton,request, session几个属性 spring和struts2整合的时候,struts2的action要配置成scope=&q ...

  10. SSM-Spring-21:Spring中事物的使用案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 股票买卖案例(我会用三种开启事物的方法 代理工厂bean版的,注解版的,aspectj xml版的) 简单的介 ...