spring-boot - 将 Svelte 捆绑为带有资产(如图像、svg 文件)的 Web 组件
问题描述
我对苗条很陌生,并且在我正在为考试做的项目中遇到问题。
我和我的组织决定为现有的微服务构建一个微前端。此微服务基于 SpringBoot,项目的模块由 maven 管理,如下所示:
- root
|- tool-backend (spring boot)
|- pom.xml <--- uses maven-resouce-plugin
|- tool-frontend (svelte)
|- pom.xml <--- describes how to build the frontend
|- public
|- build
|- bundle.js <--- bundled by svelte-compiler and copied to `tool-backend/src/resources`
|- assets/svg
|- logo.svg
|- src
|- app.svelte
我省略了服务实现。这只是一个 @RestController,它为 bundle.js 服务,它将被另一个前端套件和其他东西使用。
在 app.svelte 我做了以下事情:
<svelte:options tag="tool-component" />
<main>
<img src="/assets/svg/logo.svg" alt="logo" width="200px" />
</main>
您可能已经注意到,svelte 被配置为构建一个 web 组件,而不是一个 svelte 应用程序。该组件应使用 dirtool-frontend/public/assets/svg/logo.svg
中的 svg,使用npm start
. 但是,当从我的tool-backend
-module 构建它时,logo.svg 没有与它捆绑在一起。这意味着当运行 spring-boot 应用程序并从 svelte 提供 bundle.js 时,svg 不会在浏览器中呈现。
现在我的问题:
是否有通过汇总构建过程将资产与 svelte 捆绑在一起的简单解决方案?
我使用了 svelte 的汇总模板,您可以在此处找到。
我知道我可以使用 maven-resource 插件将资产复制到我的 spring-boot 服务中并从那里提供资产,但我不想过多地接触该服务。让前端自己处理对我们来说会好得多。
我也不确定 webpack 是否会做类似的事情。直到现在我还没有处理太多的 webpack。看到开箱即用的样板代码会更好。
其他看起来不错的解决方案也受到欢迎。
解决方案
推荐阅读
- c - MPI_Gatherv 内存问题 (MPI+C)
- json - 将嵌套的 SCSS 映射导出为 Json
- neo4j - guides.neo4j.com/wiki 的密码语句中的 ServiceUnavailable 错误
- c# - Itextsharp 段落更改第二行的缩进
- r - 布尔 AND 和 OR 在 R 中选择行/列,而不创建临时副本?
- php - 在 Wordpress 中加载依赖于 jquery 的脚本(导致问题)
- c# - 由于 Watson 的包问题引发异常
- angularjs - 使用Angularjs如何通过单击编辑按钮从表中绑定下拉值控件?
- php - 删除 CSV 行
- testing - 为测试人员分发编译文件的好方法