Blazor可用于创建客户端C#脚本编写的网页。我已经在各个地方(例如MSDN Magazine文章)阅读过文章,这些地方一旦建立,便可以将文件放在任何服务器上。我的理解是,也可以将工件放置在文件共享上。
但是,这不是我观察到的。dotnet run
通过在Visual Studio中通过模板创建的Blazor Web应用程序的项目目录中运行,可使红k Web服务器启动,并且我可以通过指定的http://localhost:port/
地址访问工作的网页。
当我index.html
在的WebApplication1\bin\Debug\netstandard2.0\publish\WebApplication1\dist
帮助下打开在路径下生成的时,dotnet publish
我在Web浏览器中仅看到一个文字“ Loading ...”。
我已经看过了index.html
,乍一看,它看起来像是_framework/blazor.webassembly.js
匹配目录结构的路径。渔获物在哪里?
你说:
当我在 dotnetpublish 的帮助下打开在 WebApplication1\bin\Debug\netstandard2.0\publish\WebApplication1\dist 路径下生成的 index.html 时,我在网络浏览器中只看到一条文字“正在加载...” 。
这是因为 Blazor 希望在根路径上找到 dll。我的意思是,如果您将内容复制dist
到网络服务器的根目录上,那么一切都会正常工作,但如果您将其复制到根目录的“子文件夹”上,则一切都会正常。
如果您想从路径(而不是根目录)提供文件,那么您应该设置应用程序基本路径,我的意思是,更改:
<base href="/" />
Run Code Online (Sandbox Code Playgroud)
到
<base href="/your_path/" />
Run Code Online (Sandbox Code Playgroud)
在页面上index.html
。
来自文档:
应用程序基本路径是服务器上的虚拟应用程序根路径。例如,驻留在 Contoso 服务器上的虚拟文件夹中的应用程序
/CoolBlazorApp/
位于 处https://www.contoso.com/CoolBlazorApp
,并且具有虚拟基本路径/CoolBlazorApp/
。
归档时间: |
|
查看次数: |
409 次 |
最近记录: |