.NETCore下訪問img、js等靜態資源404解決辦法

框架版本:

.NET Core 3.1javascript

報錯:

 最近在學習MVC模式的NetCore,新建Index.cshtml頁面後引入了js,可是按路徑卻訪問不到對應的文件(404)。html

<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    <title>Index</title>
</head>
<body>
    <p>Hello World!</p>
    <script type="text/javascript" src="~/js/jquery-3.5.1.min.js"></script>
    <script type="text/javascript" src="/diyStatics/test.js"></script>
</body>
</html>
Index.cshtml

打開F12能看到:java

解決方案:

1.默認路徑

 在Startup.cs的Configure方法裏啓用靜態資源:jquery

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//啓用靜態資源(無參默認wwwroot文件夾) app.UseStaticFiles();
app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints
=> { endpoints.MapControllers(); }); }

結果:app

2.自定義路徑

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//自定義資源 app.UseStaticFiles(new StaticFileOptions { //資源所在的絕對路徑。 FileProvider = new PhysicalFileProvider(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "Statics/js")), //表示訪問路徑,必須'/'開頭 RequestPath = "/diyStatics" });
app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints
=> { endpoints.MapControllers(); }); }

 

結果:框架

總結:

仍是得善用官方提供的文檔:ASP.NET Core 中的靜態文件ide

相關文章
相關標籤/搜索