Tengo una aplicación de servidor blazor, con un elemento personalizado registrado como el siguiente código:
builder.Services.AddServerSideBlazor(options => { options.RootComponents.RegisterAsCustomElement<Counter>("my-blazor-counter"); }); Quiero importar este elemento personalizado blazor en otra aplicación node.js para convertirlo en un elemento iluminado (componente web). He agregado los siguientes scripts en mi aplicación node.js
<script src="https://localhost:7075/_framework/blazor.server.js"></script> <script src="https://localhost:7075/_content/Microsoft.AspNetCore.Components.CustomElements/BlazorCustomElements.js"></script>pero al inicializar el Blazor, todavía usa el puerto de la aplicación del nodo y falla durante la inicialización. No estoy seguro de que me esté perdiendo algo aquí o si hay alguna otra forma de hacerlo.
A continuación se describe cómo resolví un problema similar al suyo: al intentar registrar un elemento personalizado, el cliente no muestra el componente y no aparece ningún mensaje de error.
Seguí las instrucciones, pero no sucedió nada en el lado del cliente. Después de inspeccionar el tráfico del websocket usando Firefox, me encontré con el siguiente mensaje del cliente al servidor (ligeramente editado para facilitar la lectura):
ù ÀµEndInvokeJSFromDotNetÂÚÙ[ 2, false, "Could not find 'registerBlazorCustomElement' ('registerBlazorCustomElement' was undefined). findFunction/<@https://localhost:5001/_framework/blazor.server.js:1:497 findFunction@https://localhost:5001/_framework/blazor.server.js:1:465 E@https://localhost:5001/_framework/blazor.server.js:1:2606 attachWebRendererInterop/<@https://localhost:5001/_framework/blazor.server.js:1:33097 attachWebRendererInterop@https://localhost:5001/_framework/blazor.server.js:1:33145 beginInvokeJSFromDotNet/s<@https://localhost:5001/_framework/blazor.server.js:1:3501 beginInvokeJSFromDotNet@https://localhost:5001/_framework/blazor.server.js:1:3475 _invokeClientMethod/<@https://localhost:5001/_framework/blazor.server.js:1:71894 _invokeClientMethod@https://localhost:5001/_framework/blazor.server.js:1:71880 _processIncomingData@https://localhost:5001/_framework/blazor.server.js:1:69922 kt/this.connection.onreceive@https://localhost:5001/_framework/blazor.server.js:1:64322 connect/</o.onmessage@https://localhost:5001/_framework/blazor.server.js:1:48638 EventHandlerNonNull*connect/<@https://localhost:5001/_framework/blazor.server.js:1:48489 connect@https://localhost:5001/_framework/blazor.server.js:1:48005 _startTransport@https://localhost:5001/_framework/blazor.server.js:1:57626 _createTransport@https://localhost:5001/_framework/blazor.server.js:1:56195 _startInternal@https://localhost:5001/_framework/blazor.server.js:1:54044 async*start@https://localhost:5001/_framework/blazor.server.js:1:51309 _startInternal@https://localhost:5001/_framework/blazor.server.js:1:66198 _startWithStateTransitions@https://localhost:5001/_framework/blazor.server.js:1:65598 start@https://localhost:5001/_framework/blazor.server.js:1:65262 Gn@https://localhost:5001/_framework/blazor.server.js:1:129904 Yn@https://localhost:5001/_framework/blazor.server.js:1:127771 async*@https://localhost:5001/_framework/blazor.server.js:1:131523 @https://localhost:5001/_framework/blazor.server.js:1:131529 " ] En mi caso fue que no había agregado <script src="/_content/Microsoft.AspNetCore.Components.CustomElements/BlazorCustomElements.js"></script> al html.