Ошибка 404 при обслуживании файлов .js в ASP.NET Core - PullRequest
0 голосов
/ 30 января 2019

У меня есть простое веб-приложение ASP.NET Core, использующее страницы Razor (не MVC).Я смотрю на Application Insights, когда запускаю приложение, и вижу кучу 404 ошибок, связанных с такими файлами ...

https://localhost:5001/~/lib/bootstrap/dist/js/bootstrap.bundle.js

Мой класс запуска имеет app.UseStaticFiles(); и может обслуживать другие файлы в корневом каталоге и подкаталогах, таких как css и images.Так почему же он не может найти и обслуживать эти .js файлы?Я попытался добавить параметры в статическую конфигурацию файла, но, похоже, ничего не работает.Я продолжаю получать 404 ошибки в Application Insights.Я могу зайти в проводник и увидеть, что все эти файлы существуют.Я работал над этим часами безуспешно.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Я понял это.Я подсказал, что в пустом шаблоне проекта в Layout.cshtml некоторые теги, такие как <environment>, были выделены жирным шрифтом, а в моем проекте - нет.В мой файл ViewImports я включил @tagHelperPrefix th:, поэтому помощникам тегов Microsoft требуется специальный синтаксис, такой как <th:link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />.Помощники тегов Microsoft должны сделать что-то особенное с путями, которые содержат символ ~.

Когда я заменил все свои теги ссылок в Layout.cshtml с <link> на <th:link>, он начал работать.Или я могу взять @tagHelperPrefix th: из ViewImports и использовать обычные теги.

0 голосов
/ 30 января 2019

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

Я предполагаю, что перед вами косая черта:

<script src="/~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>

Путь должен начинаться с ~, а не с косой черты:

<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...