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


框架版本:

.NET Core 3.1

報錯:

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

<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能看到:

解決方案:

1.默認路徑

 在Startup.cs的Configure方法里啟用靜態資源:

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

結果:

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 中的靜態文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM