“错误:未设置基本href。”升级到Angular 8之后

时间:2019-06-18 17:25:29

标签: angular

完成从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创建的简单应用程序在没有此提供程序的情况下工作时,我对了解为什么现在需要这样做更感兴趣。

1 个答案:

答案 0 :(得分:1)

通过添加index.html元素,确保body是有效的HTML文件,您可以在其中插入Angular根组件:

<html lang="en">
<head>
  <base href="/">
  ...
</head>
<body>
  <app-root></app-root>
</body>
</html>