Blazor可用于创建客户端C#脚本编写的网页。我在各个地方(例如MSDN Magazine article)上阅读过的文件,这些文件一旦建立便可以将文件放在任何服务器上。我的理解是,也可以将工件放置在文件共享上。
但是,这不是我观察到的。在我通过Visual Studio中的模板创建的Blazor Web应用程序的项目目录中运行dotnet run
,会使红est Web服务器启动,并且我可以通过指定的http://localhost:port/
地址访问工作的网页。
在index.html
的帮助下打开在WebApplication1\bin\Debug\netstandard2.0\publish\WebApplication1\dist
路径下生成的dotnet publish
时,我在Web浏览器中只看到一个文字“ Loading ...”。 / p>
我看过index.html
,乍一看,看来_framework/blazor.webassembly.js
的路径与目录结构匹配。渔获物在哪里?
答案 0 :(得分:1)
您说:
当我在dotnet publish的帮助下打开在WebApplication1 \ bin \ Debug \ netstandard2.0 \ publish \ WebApplication1 \ dist路径下生成的index.html时,仅在我的网络浏览器。
这是因为Blazor希望在根路径上找到dll。我的意思是,如果您将dist
的内容复制到Web服务器的根目录上,那么一切都会很好,但是如果您将其复制到根目录的“子文件夹”中,则一切正常。
如果要从路径(而不是从根)提供文件,则应设置app base path,我的意思是,更改:
<base href="/" />
到
<base href="/your_path/" />
在index.html
页上。
来自文档:
应用程序基本路径是服务器上的虚拟应用程序根路径。例如,位于
/CoolBlazorApp/
的Contoso服务器上位于https://www.contoso.com/CoolBlazorApp
的虚拟文件夹中的应用程序,其虚拟基本路径为/CoolBlazorApp/
。
答案 1 :(得分:0)
我使用文件夹上的端口号启动了HTTP服务器,并且该应用程序可以很好地与http://localhost:4565/之类的URL一起使用。已使用this HTTP server code。但总的来说,任何HTTP服务器都可以正常工作。