Is it possible to embed a Blazor component in a non .NET website?

半城伤御伤魂 提交于 2020-06-27 15:33:20

问题


We would like to develop a client-side Blazor component for one of our clients to embed on a page in their website. The website is written with Drupal, but really my question refers to integrating Blazor into any non-ASP.NET website.

This image from https://www.nativoplus.studio/blog/blazor-introduction/ seems to suggest that this should be possible as none of the runtime parts are relying on a .NET host:

As I understand it, a client-side Blazor component is run using a combination of WASM and JavaScript for interop so it seems like it should be possible to embed a Blazor component on any website, not just one written with .NET?

(Possibly Mono.wasm might also need to be also present, I'm not sure if that's only used for compiling our C# client-app to wasm, or if that's needed when running the app too?)

Is this theoretically possible, or am I missing something obvious that makes that a non-starter?

If so, could anyone give an example of what files we would need to tell our client's website company to add to the site and where those files should be located?


回答1:


Yes. This is possible. Once you publish client-side Blazor application using dotnet publish resulting files can be served from any static file hosting. For example you could serve the results using http-server . from the folder where results are published.

To control appearance where Blazor application would be visible in the final HTML application, you can augment index.html as you see fit. <app> tag would be replaced by Blazor application.




回答2:


Should be possible. From here: https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.0:

An ASP.NET Core web server isn't required to host the app. Serverless deployment scenarios are possible (for example, serving the app from a CDN).

If I publish a client-side Blazor project within Visual Studio to the file system then I get the index.html, css folder and a _framework folder containing the js and wasm files.

I guess it should be possible to serve those from wherever, but not tried it.



来源:https://stackoverflow.com/questions/57274230/is-it-possible-to-embed-a-blazor-component-in-a-non-net-website

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!