javascript - HTML base href 和 A​​ngular APP_BASE_HREF 有什么区别?

标签 javascript html angular angular-router

我正在开发一个 Angular 应用程序,我面临着设置 HTML 基本 href 值和/或 APP_BASE_HREF 值的问题。

它们之间有什么区别和联系?

最佳答案

一般来说,你只需要设置 <base href> .

异常(exception)情况是您无权访问 index.html或者您希望 HTML5 样式的 URL 与您提供 Angular 文件的位置不同(那么您需要提供 APP_BASE_HREF )。

What is the difference and relation between these?

<base href>在为您的 Web 应用程序生成 HTML5 样式的 URL 时用作默认基本 URL ( see source code )。此外,它 "specifies a base path for resolving relative URLs to assets such as images, scripts, and style sheets,"即您的 Angular 分布。自 <base href>只是一个HTML元素,你可以看到Mozilla docs有关详细信息,请参阅 community wiki的影响。

如果由于某种原因你属于以上两种情况,你可以提供APP_BASE_HREF相反,它仅用于路由目的(使用 PathLocationStrategy )并且不设置或与 <base href> 交互.

总结

  1. <base href>APP_BASE_HREF 时用作路由的基本 URL未设置。
  2. 设置 <base href> 的组合和 APP_BASE_HREF可用于显示的 URL 和提供文件的实际位置不同的部署场景。
  3. 如果你是don't have access to the index.html , the APP_BASE_HREF must be set如果使用 PathLocationStrategy .

进一步阅读

关于javascript - HTML base href 和 A​​ngular APP_BASE_HREF 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69094451/

相关文章:

javascript - 编写 JQuery 以更改 Drupal 7 的 TB Megamenu 行为

javascript - Angular JS 日期过滤器不起作用(日期时间)

javascript - Angular 2 标题和数据

javascript - 在 Phaser 中创造高分

javascript - 使用构造函数创建对象与返回对象有区别吗?

javascript - 单击按钮上的滑动 Div,并隐藏其他框

jquery - 如何为 slider 创建索引?

angular - 订阅 Angular 2 Http 两次?

javascript - React/Jest/Enzyme 浅渲染测试中如何将文本输入到表单中?

javascript - 如何在 SuiteScript 2.0 中的创建模式下重定向到自定义记录?