问题
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