我开始更多地涉足网络开发。目前,我将 Spark Framework 与 Vue 一起用于我制作的几个应用程序。虽然这确实有效,但并不理想。
该项目是使用 Maven(和 NPM for Vue)构建的,构建过程如下所示。
- Maven打包Spark Framework Java应用
- Maven(与 frontend-maven-plugin) 下载 node/npm 并构建 Vue 前端
- Maven将编译后的资源作为静态资源复制到jar中
所以文件系统看起来像这样
/src/main/java (Spark 框架)
/src/main/资源(Vue)
这会导致一些烦恼。
- 一切都在一个存储库中。理想情况下,我能够为项目的每一层都有一个单独的 repo 协议(protocol)(一个用于 Java,一个用于 Vue)
- 开发工作流程不理想。如果我只是想测试应用程序的 Java 部分,我仍然会花时间编译前端 (Vue)
- 一个小问题,但在 IDE 中工作时,我正在处理深度嵌套的文件夹。任何时候我想编辑前端,我的文件夹结构看起来像/src/main/resources/project-vue/
Here's one of my projects that uses this model
所以我的问题是:构建我的应用程序的更好方法是什么?
最佳答案
我花了几个月的时间思考,在那段时间我用 Vue 创建了更多的应用程序,这是我开始采用的工作流程。
我为任何不止一层的项目创建一个 GitHub 组织。例如,我的许多项目都有一个用 Java 或 JavaScript 编写的 REST API,以及一个使用 Vue 的 Web 界面。该组织将包含每个层的存储库。这是一个 link一个遵循这个想法的组织。
这让我可以分离我的后端和前端,但它使部署变得复杂。我不能再使用与 API 相同的 Web 服务器来提供我的 Vue 文件,但进一步思考这可能是一件好事。
通过这种模式,我可以在非常便宜的 Amazon S3 上托管我的静态 Vue 站点,并使用带有 Heroku 的免费 dynos 来托管我的 API。
关于java - 使用 Java 和 Vue 创建 Web 应用程序的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45778721/