如何用 Gradle 将 Reason 和 Ktor 应用打包在一起?
How to pack Reason and Ktor apps together in a bundle with Gradle?
我有以下结构:
/ -> root
/react-app -> Reason app (initialized using cli)
/webapp -> gradle app, maven structure with Gradle build file
我不确定如何构建所有内容以便我可以:
- 运行 本地服务器,以便我可以调试
- 生产tar(例如使用
application
插件)
生产
制作应该是这样的:
- ktor 作为主服务器
- ktor 应用有 API
- 所有 react JS/HTML 文件也由 ktor
提供服务
换句话说,我想通过单个网络应用程序提供所有服务。
我知道我可以制作 2 个独立的服务 - 一个用于 React,一个用于 API。但我想将它们捆绑到一个应用程序中。
本地发展
本地开发应该很快。我正在考虑将 React 和 API 部分分开,仅用于本地目的,因为这样在本地 运行 更容易。但是对于生产,我需要从单个应用程序提供这两个服务。
我想要什么
是根中的单个 Gradle 并具有模块。虽然 ktor 可以是一个模块,但我不确定如何使用 react 模块。
我不确定 Kotlin 和 Ktor 部分,但在 Reason/React 方面,我建议 Parcel 将您的 HTML/JS/CSS 资产捆绑成适合服务的形式静态的,也可以将其用作开发服务器以进行快速迭代。
Parcel 在大多数情况下需要零配置,您可以将其指向您的入口点资产,通常是您 UI 项目中的 index.html
文件,在生产构建中它将捆绑所有内容(HTML/JS/CSS) 在 dist/
子目录中准备好提供服务。然后只需将您的 Kotlin webapp 指向 dist/index.html
用于 /
路由。
对于开发构建,Parcel 将在 localhost:1234
和 auto-reloading 自动启动开发服务器。当您在 UI 上迭代时,BuckleScript 增量构建以及 Parcel 重新加载应该非常快——通常几乎是即时的。
我有以下结构:
/ -> root
/react-app -> Reason app (initialized using cli)
/webapp -> gradle app, maven structure with Gradle build file
我不确定如何构建所有内容以便我可以:
- 运行 本地服务器,以便我可以调试
- 生产tar(例如使用
application
插件)
生产
制作应该是这样的:
- ktor 作为主服务器
- ktor 应用有 API
- 所有 react JS/HTML 文件也由 ktor 提供服务
换句话说,我想通过单个网络应用程序提供所有服务。
我知道我可以制作 2 个独立的服务 - 一个用于 React,一个用于 API。但我想将它们捆绑到一个应用程序中。
本地发展
本地开发应该很快。我正在考虑将 React 和 API 部分分开,仅用于本地目的,因为这样在本地 运行 更容易。但是对于生产,我需要从单个应用程序提供这两个服务。
我想要什么
是根中的单个 Gradle 并具有模块。虽然 ktor 可以是一个模块,但我不确定如何使用 react 模块。
我不确定 Kotlin 和 Ktor 部分,但在 Reason/React 方面,我建议 Parcel 将您的 HTML/JS/CSS 资产捆绑成适合服务的形式静态的,也可以将其用作开发服务器以进行快速迭代。
Parcel 在大多数情况下需要零配置,您可以将其指向您的入口点资产,通常是您 UI 项目中的 index.html
文件,在生产构建中它将捆绑所有内容(HTML/JS/CSS) 在 dist/
子目录中准备好提供服务。然后只需将您的 Kotlin webapp 指向 dist/index.html
用于 /
路由。
对于开发构建,Parcel 将在 localhost:1234
和 auto-reloading 自动启动开发服务器。当您在 UI 上迭代时,BuckleScript 增量构建以及 Parcel 重新加载应该非常快——通常几乎是即时的。