После обновления клиентского приложения SPA-проекта ASP.Net Core MVC с Angular 5.2 на Angular 7 я получаю следующую ошибку времени выполнения при загрузке приложения с index.html
:
селектор "app-root" не соответствует ни одному элементу
at DefaultDomRenderer2.push../node_modules/@angular/platform-browser/fesm5/platform-browser.js.DefaultDomRenderer2.selectRootElement (VM147 vendor.js:76470)
at DebugRenderer2.push../node_modules/@angular/core/fesm5/core.js.DebugRenderer2.selectRootElement (VM147 vendor.js:67815)
at createElement (VM147 vendor.js:64501)
at createViewNodes (VM147 vendor.js:66739)
at createRootView (VM147 vendor.js:66692)
at callWithDebugContext (VM147 vendor.js:67700)
at Object.debugCreateRootView [as createRootView] (VM147 vendor.js:67210)
at ComponentFactory_.push../node_modules/@angular/core/fesm5/core.js.ComponentFactory_.create (VM147 vendor.js:65031)
at ComponentFactoryBoundToModule.push../node_modules/@angular/core/fesm5/core.js.ComponentFactoryBoundToModule.create (VM147 vendor.js:53458)
at ApplicationRef.push../node_modules/@angular/core/fesm5/core.js.ApplicationRef.bootstrap (VM147 vendor.js:61611)
Проблемы, похоже, заключаются в том, что сценарии выполняются до инициализации DOM, таким образом, не находя элемент.«Скомпилированный» источник index.html выглядит следующим образом:
<script type="text/javascript" src="runtime.js"></script><script type="text/javascript" src="polyfills.js"></script><script type="text/javascript" src="styles.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script><!doctype html>
<html lang="en">
<head>
<base href="/">
<meta charset="utf-8">
<title>capatrello</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<app-root>Loading...</app-root>
</html>
Файлы сценариев автоматически вставляются в начале файла.Если я вручную вставлю сценарии в конец файла, приложение запустится и будет работать как положено.Однако сценарии затем вставляются и выполняются дважды, по-прежнему выдавая ошибки с первой попытки.Скомпилированный index.html:
<script type="text/javascript" src="runtime.js"></script><script type="text/javascript" src="polyfills.js"></script><script type="text/javascript" src="styles.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script><!doctype html>
<html lang="en">
<head>
<base href="/">
<meta charset="utf-8">
<title>capatrello</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<app-root>Loading...</app-root>
</html>
<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js"></script>
<script type="text/javascript" src="styles.js"></script>
<script type="text/javascript" src="vendor.js"></script>
<script type="text/javascript" src="main.js"></script>
- По какому механизму файлы сценариев вставляются в index.html?
- Может ли он быть настроен на вставку файлов сценариев в конец index.html?
- Это правильное исправление или причина в другом месте?