我在Aurelia CLI设置的.NET Core中托管了Aurelia应用程序。
我在app.html文件中使用src/assets/icons/font-awesome
添加了Font-Awesome CSS文件。
一切都按照应有的方式加载但是当我尝试引用位于wwwwroot
文件夹中的Font-Awesome fonts 时,(我自己将它们复制到那里),我得到标准文件未找到控制台错误
如果我将Font-Awesome字体移动到getDayInMonth
,一切正常,图标会显示在我的页面上。我的猜测是因为我通过.NET Core(wwwroot)托管我的应用程序,我无法访问src文件夹下的静态文件?
结构:
控制台错误:
为什么会这样?我可以以某种方式解决这个问题,还是我被迫将我的Font-Awesome字体存储在wwwroot中?
下次当我使用Aurelia CLI启动一个新的Aurelia项目时,如果我在wwwroot中安装Aurelia应用程序而不是root中的单独src文件夹会更好吗?
答案 0 :(得分:2)
默认情况下,.NET Core Web主机提供wwwroot
文件夹中的静态文件。
您的Program.cs
文件
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseContentRoot(Directory.GetCurrentDirectory()) //serve static from web root (wwwroot) folder
}
并在Startup.cs
中的某个位置启用了静态文件中间件:
app.UseStaticFiles(); //uses web root (wwwroot folder) by default
要从不同位置提供您想要再次调用具有不同配置的中间件
的文件public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles(); // For the wwwroot folder
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "src")),
RequestPath = new PathString("/src")
});
但我不会推荐。好的做法是分别存储代码,资产和配置,并将它们作为静态文件捆绑到wwwroot
目录(使用任务管理器,webpack或仅复制生产)