У меня есть простое приложение .net-core с веб-пакетом.Webpack генерирует для меня файлы css и js и сохраняет их в папке wwwroot / dist.
Похоже, что каждый раз, когда файл css или js загружается из папки dist (_Layout.cshtml), это вызывает загрузку индексного метода в HomeController.один раз на запрос cs / js.
Мой Index.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"]</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<base href="~/" />
<link rel="stylesheet" href="~/dist/vendor.css" type="text/css" />
</head>
<body>
<div id="app">
<main id="appContent" class="container-fluid">
@RenderBody()
</main>
</div>
<script src="~/dist/vendor.js"></script>
<script src="~/dist/main.js"></script>
@RenderSection("Scripts", required: false)
</body>
</html>
В моем Startup.cs у меня есть егоcode:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
var options = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
string cultureCode = options.Value.DefaultRequestCulture.Culture.Name ?? "en-GB";
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{culturecode}/{controller}/{action}/{id?}",
defaults: new { culturecode = cultureCode, controller = "Home", action = "Index" },
constraints: new { id = new IntRouteConstraint() },
dataTokens: new { locale = cultureCode });
});
app.Use(async (httpContext, next) =>
{
var url = httpContext.Request.Path.ToString();
if (url.StartsWith("/"))
{
if (cultureCode.ToLower() == "en-us")
cultureCode = "en-GB";
httpContext.Response.Redirect($"/{cultureCode}/", true);
return;
}
await next();
});
}
Я попытался настроить метод useStaticFiles, удалить вызов HotModuleReplacement и изменения маршрутов, но безуспешно.Насколько я понимаю, с помощью useStaticFiles все файлы из wwwroot (включая папку dist) должны игнорироваться при маршрутизации engin, но, очевидно, это не работает так.Не могли бы вы увидеть, что я делаю не так?
Спасибо.