.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>
打開F12能看到:java
在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
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