JHipster/Angular 配置如何确定它需要使用 index.html 文件?

Posted

技术标签:

【中文标题】JHipster/Angular 配置如何确定它需要使用 index.html 文件?【英文标题】:How does the JHipster/Angular configuration determines that it needs to use the index.html file? 【发布时间】:2015-06-22 14:36:24 【问题描述】:

我刚刚使用 JHipster 生成了一个 Spring/Angular 应用程序。

我使用此 URL 成功访问了主页:http://localhost:8080,该 URL 重定向到 http://localhost:8080/#/,并且正确加载了 index.html 文件。

我不确定 Angular 和浏览器如何确定它们需要加载 index.html 文件。

这是在 JHipster 应用程序中的哪里配置的?

编辑:是否有一些“默认主页”配置?

【问题讨论】:

【参考方案1】:

我使用此 URL 成功访问了主页: http://localhost:8080 重定向到 http://localhost:8080/#/

对服务器的请求是针对“/”的,并且提供了 index.html。 “/#/”是 index.html 页面上的 javascript 启动时发生的所有客户端内容(Angular 路由),而不是服务器端重定向的结果。

这是在 JHipster 应用程序中的哪里配置的?

这是 Spring Boot 的默认设置,不是 JHipster 特有的。来自Spring Boot docs:

自动配置在 Spring 的基础上添加了以下功能 默认值:

静态 index.html 支持。

默认情况下,Spring Boot 将提供目录中的静态内容 在中称为 /static(或 /public 或 /resources 或 /META-INF/resources) 类路径或 ServletContext 的根目录。它使用 来自 Spring MVC 的 ResourceHttpRequestHandler,因此您可以修改它 通过添加您自己的 WebMvcConfigurerAdapter 并覆盖 addResourceHandlers 方法。

我认为这不能通过属性文件或类似的东西进行配置,您必须编写一些代码。请参阅answer to this question。

【讨论】:

非常感谢约翰! 相关代码可以在org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration类中找到。

以上是关于JHipster/Angular 配置如何确定它需要使用 index.html 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Jhipster - Angular 接收其他用户的导航

在 JHipster Angular 的主要组件中的“路由器插座”之外访问 Principal

在 Jhipster 用户身份验证中添加自定义验证

如何将复杂项目从 Angular 1.5 迁移到 2?

本地主机为我的 Angular 应用程序发送了无效响应

如何更新配置单元表中的值?