我有一个基于以下基础的前端/后端项目:
通过运行以下命令,我可以使用hotload开发前端的UI部分:
npm install
npm run serve
但是,如何针对运行中的后端测试我在前端的更改--例如,如果我只想在前端对后端API进行不同调用的实验?
现在,当我想构建并运行后端时,我运行:
mvn clean install
java -jar backend/target/backend-1.0.0-SNAPSHOT.jar
它将首先构建前端,将前端文件复制到后端,构建后端,最后启动/运行它。
但是,我不想在每次尝试对前端的后端API进行不同的调用时,都要经历这个完整的过程。
我看过spring-boot-devtools
:
是的,我可以通过运行主类从eclipse启动后端,但我仍然需要它单独启动前端,或者在运行的后端动态更新前端资源(当更改时)。
但是我仍然不知道如何将我的前端源重新加载到运行的后端。
当然,我可以分离前端和后端,因此后端只包含API (而不是前端资源),并独立启动它。但在此之前,我想看看是否可以使用我现有的项目来完成上面的开发过程。
对如何进行有何建议/指导?
发布于 2020-01-12 05:31:02
前端开发有自己的生态系统,您所指向的项目是基于maven的,这是一种java构建自动化工具。
这对发布过程非常好,因为maven前端- maven -plugin允许运行所有命令,在不直接干扰任何前端工具的情况下,由maven集中构建最终工件。
但是为了方便前端开发,您可以以webpack的名义使用一个前端功能强大的工具,它有一个允许您重新加载前端项目的dev服务器插件。
这个插件的总体功能是提供一个轻量级的web服务器来服务您的前端文件,如html、css、js和..。
在使用dev server时,您应该将其配置为使用代理将API调用重定向到spring引导应用程序。
devServer: {
contentBase: path.join(__dirname, "dist"),
compress: true,
port: 9000,
proxy: {
'/api': {
target: 'http://localhost:8080',
secure: false
}
}
重新启动webpack开发服务器,当您访问http://localhost:9000/api/posts上的代码服务器时,您会看到来自http://localhost:3000/api/posts服务器的相同结果。
https://stackoverflow.com/questions/59416860
复制相似问题