我目前正在使用 AngularJs 为嵌入式服务器(打包在 .jar 文件中,作为 Tomcat 运行)开发前端/webapp。服务器有一些我希望能够在前端使用的 API 端点。
我目前的方法是使用 webjars 加载我选择的 angularjs 版本,然后在 webapp 文件夹中构建应用程序。结构是这样的:
├───src
│ ├───main
│ │ ├───docker
│ │ ├───java
│ │ │ └───com
│ │ │ └───...
│ │ ├───resources
│ │ └───webapp
│ │ └───public
│ │ ├───css
│ │ └───js
│ │ └───controllers
└───target
├───classes
│ ├───com
│ │ └───...
│ └───public
│ ├───css
│ └───js
│ └───controllers
├───generated-sources
│ └───annotations
├───generated-test-sources
│ └───test-annotations
└───test-classes
└───com
└───...
我正在编辑的文件位于 src/main/webapp/public 文件夹中,它们正在“编译”到 target/classes/public 文件夹中。如果我想在服务器运行时重新加载文件,我必须执行Run -> Reload Changed Classes
,这在开发时工作得很好。
但由于我最初来自“独立”AngularJs 开发,因此我习惯于拥有真正的 livereload 和构建链,该构建链会缩小和连接 js/css 文件以进行优化(grunt,bower)。
现在我已经研究了 wro4j 并且能够很好地设置它。对我来说仍然缺少的一件事是热重装。甚至上述方法也不再适用于 wro4j,因此唯一的选择是重新编译整个应用程序以查看 css/javascript 或 HTML 内部的变化。有没有简单的方法解决这个问题?
我的首选方法是在开发时处理未缩小/未连接的版本(在调试中运行服务器),并且仅在部署应用程序(或仅运行)时执行整个构建链
我有哪些选择?