angular - “错误:未设置基本 href。” 升级到 Angular 8 后
问题描述
完成从 Angular 5.x 到 8.0.1 的更新后,我的应用程序可以编译,但在运行时出现以下错误(使用ng serve
):
错误:未设置基本 href。请提供 APP_BASE_HREF 令牌的值或向文档添加基本元素。
我查看了其他帖子,例如:Angular 2 router no base href set,但是,我的应用程序中已经包含 HTML 基本元素。我index.html
的如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MyApp</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<app-root></app-root>
</html>
我可以通过添加来解决问题:
{
provide: APP_BASE_HREF,
useValue: '/'
}
对我app.modules.ts
来说,但我更感兴趣的是了解为什么现在需要这样做,因为使用创建的基本应用程序在ng new
没有此提供程序的情况下也可以工作。
解决方案
通过添加元素确保这index.html
是一个有效的 HTML 文件body
,您可以在其中插入 Angular 根组件:
<html lang="en">
<head>
<base href="/">
...
</head>
<body>
<app-root></app-root>
</body>
</html>
推荐阅读
- node.js - REST API - 如何实现用户特定授权?
- javascript - jQuery/HTML - 使用等宽字体时,如何让空格 () 占用与另一个字符相同的空间?
- c# - 在 RedirectToAction 之后,HttpPost 没有将数据保存在存储库中
- python - Pyspark:将一列中的值与另一列中同一行的列表匹配
- php - 为什么我会弹出这个不正确的条目,但我的 php 文件执行登录成功
- java - 当我导入迁移到 androidX 中的 New Places SDK 客户端时。无法访问 getPhotoMetadatas() 方法
- html - 无法使用 selenium webdriver (Java) 从 html 标签中获取属性
- python - CreateView保存表单后如何进入另一个页面
- android - android中targetSdkVersion的建议是什么?
- c# - 在 Visual Stuido 2019 中添加 lambda/func 箭头运算符 => 是否有任何快捷方式?