【发布时间】:2018-09-28 01:08:20
【问题描述】:
我参考了那些关于 spring 开发工具和热重载的文档
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html#using-boot-devtools-restart-exclude
据此,可以看到热重载 java 和支持的 React/Typescript/webpack 应用程序的可能性
这是我们的架构(简而言之)
mainmodule
backendModules <- those modules are just maven project have theirs poms and etc
backendModule1
backendModule2
fontendModule
content <- React/Typescript/Webpack/Less etc
backendModule2 - 我们用来启动后端 backendModule1 - 只是一些附加服务 fontendModule/content - 是我们整个 react 应用程序
如果我说我必须为我们的前端文件重新加载我是对的吗:
-
像我通常为后端那样配置 Intellij
1a。更改注册表
1b。自动选择构建项目
我的问题是我必须做些什么来强制重新加载前端文件 - 所以开发人员只需要运行 1 个应用程序,然后后端 + 前端将自动重新加载
向资源模式添加前端扩展(Intellij:构建、执行 -> 编译器)? jsx、json、js、less等?
根据文档添加“spring.devtools.restart.additional-paths”
有人能做到吗?我们没有收到任何错误等...
如果有什么不清楚的地方请告诉我,以便我们澄清
【问题讨论】:
-
在调试模式下启动将是您在 eclipse/intellij 中的最佳选择。请注意,如果您更改任何前端资产,开发人员将需要强制重新加载页面。在运行时更改分配也不可行,需要重新启动。
-
@Oskar 你如何为你的静态前端内容提供服务?
-
可能有几种解决方案。我所做的是我有一个带有开发工具的 spring boot 后端,所以我可以很容易地从 Intellij 重新加载它。对于 Angular 前端,我只使用带有开发服务器和代理的 Angular cli,配置为将我的请求重定向到运行后端的端口。这是我为前端和后端使用开箱即用的东西,没有任何额外的黑客攻击。我不确定这样的解决方案对您是否可行。
标签: java spring maven spring-boot intellij-idea