我正在把开发环境从windows转到mac,当我在完成安装后运行代码时,我的网站没有加载,没有显示任何风格,js也不工作。
我有这个路径的文件,一切都在我的Windows上工作非常好,但当我从Mac运行它,然后文件路径不加载,我该如何解决这个问题?我试图搜索整个网络,找不到这个答案,并在这里结束:(
<link href="/_content/FileUploading.SearchEngine.Shared/content/styles/bootstrap.min.css" rel="stylesheet">
<link href="/_content/FileUploading.SearchEngine.Shared/content/styles/style.css" rel="stylesheet">
<link href="/_content/FileUploading.SearchEngine.Shared/content/styles/dashboard.css" rel="stylesheet">
<link href="/_content/FileUploading.SearchEngine.Shared/content/scripts/script.js" rel="stylesheet">
这将成为文件路径的URL = https://localhost:5002/_content/FileUploading.SearchEngine.Shared/content/styles/dashboard.css
这不加载。
1条答案
按热度按时间vecaoik11#
我有这个路径的文件,一切都在我的windows上工作得很好,但当我从mac运行它,然后文件路径不加载,我如何解决这个问题?
如果你能分享你的配置细节,比如你是如何调用路径的,以及你的实际资源在哪里,那就更好了。你遇到的问题可能是由很多原因引起的。
如您所知,BlazorWebView控件具有一个配置的主机文件(HostPage),通常为wwwroot/index.html。HostPage路径相对于项目。从BlazorWebView引用的所有静态Web资源(脚本、CSS文件、图像和其他文件)都相对于其配置的HostPage。
因此,HostPage的Web根目录决定了哪些静态资产子集可用。因此,建议将HostPage放置在应用程序的wwwroot文件夹的根目录下,这为从应用程序、RCL以及通过应用程序和RCL的子文件夹提供静态资产提供了最大的灵活性。
让我们考虑一下,你的资源文件在你的wwwroot文件夹之外;因此,在非IIS宿主和反向代理宿主方案中,可能需要额外的静态文件中间件配置才能正确提供静态文件。对于您的方案,如果您的静态文件放在外部,请检查您是否使用了以下内容:
然后,您应该在_Layout. cshtml文件中引用这些文件,如下所示:
如前所述,这可能是由于移动到MAC时的资源路径造成的。在这种情况下,建议在_Layout. cshtml中的基本href上使用基于相对的路径引用,然后您可以放置资源文件的其余部分。因此,如果您的资源位于wwwroot中,请将基本href放置在其他路径引用的顶部,并通过hostname/your_resource_path访问它。
以下各项也应有效:
还要注意非开发环境,因为Blazor应用程序在本地运行,静态Web资产仅在默认情况下在开发环境中启用。因此,要在本地开发和测试期间为开发以外的环境启用静态文件,我们必须在WebApplicationBuilder上调用UseStaticWebAssets。