完成从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
创建的简单应用程序在没有此提供程序的情况下工作时,我对了解为什么现在需要这样做更感兴趣。
答案 0 :(得分:1)
通过添加index.html
元素,确保body
是有效的HTML文件,您可以在其中插入Angular根组件:
<html lang="en">
<head>
<base href="/">
...
</head>
<body>
<app-root></app-root>
</body>
</html>