#javascript #asp.net #model-view-controller #asp-net-core-spa-services
#javascript #asp.net #модель-представление-контроллер #asp-net-core-spa-services
Вопрос:
Я не могу понять, как заставить мой сайт загружать мои скрипты. У меня есть эти сценарии, реализованные в разделе моего файла _Layout.cshtml.
_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - HighYieldSecondaryTradingApp</title>
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
@*added by sean*@
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/sammy-0.7.4.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/scripts/layout-routing.js"></script>
</head>
Однако для всех 4 сценариев, которые я добавил внизу, я получаю эту ошибку во время выполнения:
Failed to load resource: the server responded with a status of 404 ()
Ниже приведена моя структура папок.
Я неправильно ссылаюсь на файлы?
Ответ №1:
Scripts
папка должна находиться внутри wwwroot
папки, чтобы сервер мог их найти.
Чтобы обслуживать статические файлы из другого каталога, используйте:
app.UseStaticFiles(new StaticFileOptions()
{
// Where the files are physicly located
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"Scripts")),
// What relative url to serve the files from
RequestPath = new PathString("/scripts")
});
в вашем методе Startup.cs Configure
.
P.S Это не изменит, откуда сервер обслуживает, но добавит дополнительный каталог для обслуживания файлов.