Angular 6, после ng build index.html получает ошибки в консоли - PullRequest
0 голосов
/ 31 декабря 2018

У меня возникла проблема, пожалуйста, помогите мне решить эту проблему.Проблема заключается в том, что когда я делаю ng build в своем CLI и захожу в папку dist и запускаю файл index.html, чтобы консоль получала ошибки пути к файлам.

Failed to load resource: net::ERR_FILE_NOT_FOUND
polyfills.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
styles.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
scripts.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
vendor.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
main.js:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
/D:/favicon.ico:1 Failed to load resource: net::ERR_FILE_NOT_FOUND

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Это связано только с путем, просто используйте - base-href флаг при построении следующим образом -

ng build --prod --base-href ./

Теперь он генерирует строки, аналогичныев вашем index.html -

<base href="./">
<!-- Note the file names here -->
<script type="text/javascript" src="runtime.30458714a8af1a2e7153.js"></script>
<script type="text/javascript" src="polyfills.db85ebdc34f3cf0f4d3f.js"></script>
<script type="text/javascript" src="scripts.e8fe6486441dc07e00c6.js"></script>
<script type="text/javascript" src="main.f9ea86a83ded92312d0f.js"></script>

Вот и все!Он работает везде, вам просто нужно развернуть производственную сборку, и вы готовы к работе!

Также, обратите внимание, что , если вы пытаетесь запустить index.html прямо из ваших файлов,это не сработает .Вам нужно будет разместить его на http-сервере (например, XAMPP для локального)

0 голосов
/ 31 декабря 2018

Значение по умолчанию base для свойства href определяется как / для угловых проектов cli.Если вы создаете проект и получаете к нему доступ, непосредственно открывая файл index.html, все .js, которые хочет загрузить HTML, будут загружены из '/' directory.

Например, если вы используете Windows, и ваша сборка присутствует в C:\users\xys\ng\dist\index.html, и у вас есть <script type="text/javascript" src="runtime.js"></script> в вашем HTML, браузер будет искать файлы .js в C:\runtime.js.

Чтобы решить эту проблему, вы можете скопировать все свои файлы в корневой каталог диска (не рекомендуется) или создать локальный сервер, а затем сервировать статические файлы на этом сервере (предпочтительный метод).

...