在没有节点/npm 的情况下构建 SPA 前端
Posted
技术标签:
【中文标题】在没有节点/npm 的情况下构建 SPA 前端【英文标题】:Building SPA frontend without node/npm 【发布时间】:2018-11-04 19:06:31 【问题描述】:我是一名后端 Java 开发人员(Spring Boot),目前我对构建单页应用程序很感兴趣。
我喜欢 SPA 框架(主要是 Vue)的地方: 模型绑定(保存样板代码) 组件和模板(在多个文件中分离代码总是好的,但我不喜欢单个文件组件,因为我觉得它们混合了视图和逻辑) 路由器
但是,除非您使用 Node,否则集成似乎很差 我不喜欢的: Node(我用 Java 开发后端,所以我不想安装 node 作为 NPM 的先决条件) NPM(我在Maven/Gradle中已经有了依赖管理,其实我没那么在意,就是不想单独安装和管理)
我明白为什么需要 Node、Npm、Webpack 之类的东西,只是我已经让 Java/Spring/Eclipse 为我完成了所有这些工作。我不希望有两个基本上独立的构建过程。
TLDR:我喜欢现代前端的方向和架构,我只是不想处理使用的工具。
具体问题:如何使用 Spring Boot、Gradle/Maven 和 Vue.js 开发现代 SPA,而不必安装 Node/Npm/Vue cli 等。如果有的话,最好的工具是什么?
谢谢。
【问题讨论】:
您可以使用 exec-maven-plugin 之类的插件将构建过程与 maven 统一起来。但这适用于构建过程。如果你想轻松开发一个 vue.js 应用程序,使用带有 node 的 vue-cli 要容易得多。如前所述,有多种方法可以使用 maven 来构建您的 js 内容,甚至将其打包在 Spring Boot 中。让我知道您是否需要帮助,而不是完全排除 Node 【参考方案1】:您可以使用托管自 here 的 maven 前端插件。
它是一个 maven 插件,它利用下载 nodejs、webpack、gulp、grunt 并在您的代码库上运行它。
您将能够运行 maven build 并且 nodejs 将自动下载。它还将运行您的前端构建,并且在生成的 jar 中您将只有必要的缩小文件。
但是,您必须注意,如果您想调试您的前端应用程序,最好安装这些东西并能够在本地运行应用程序而无需压缩 html 和 js 文件。
如果您不想下载工具,可以使用本插件作者提供的helper scripts 来使用本插件下载的工具。
【讨论】:
使用 maven 前端插件,每次更改后我是否必须重建前端,还是自动完成?我相信 angular2(使用 cli)会不断地重建它。至于调试,我在浏览器中调试完全没问题... 如果你想用编译好的前端构建jar,你将不得不重建整个maven项目。但是,出于开发目的,您可能希望在一个端口(例如 8080)上运行后端应用程序,然后使用帮助脚本运行本地节点服务器(在另一个端口上)并在开发前端部分时享受实时重新加载。 如果我回答了您的问题,请考虑支持我的回答并标记它。如果没有,请提供更多信息。以上是关于在没有节点/npm 的情况下构建 SPA 前端的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 npm install 的情况下从 github 运行 react 项目
在没有Webpack的情况下从NPM模块解析Sass @import
如何在没有 SPA 或图形界面的情况下,仅通过 POSTMAN 访问 Laravel Sanctum 的 API 路由?