Tengo un caso interesante en el que tengo que poner el componente React dentro de JSF como parte de la aplicación comercial. Traté de lograr eso con <h:outputScipt> pero sin éxito.
Importé fragmentos del componente de reacción y los puse como aquí:
Luego usé <h:outputScript/> así:
<ui:composition template="/templates/tempMain.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui"> <ui:define name="content"> <h:form id="AdditionalServiceTemplatesForm"> <p:panel id="additionalServiceTemplatesPanel"> <div id="ComponentName" style="background-color: white" class="container"></div> <h:outputScript library="js" name="19.649a5d09.chunk.js"/> <h:outputScript library="js" name="runtime-main.d6107f88.js"/> <h:outputScript library="js" name="main.d73a6ff5.chunk.js"/> <h:outputScript library="js" name="hello.js"/> <h:form> <h:commandButton onclick = "showMessage();" /> </h:form> </p:panel> </h:form> </ui:define> </ui:composition>El script javascript normal hello.js (no el fragmento) está visible y funciona, pero el componente de reacción de los fragmentos no se representa. Todo lo que tengo es un contenedor jsf vacío.
Además hay información en la consola: 
Además, traté de cambiar las rutas relativas en fragmentos de static/js a "resources/js" y "javax.faces.resource/js" y sin ninguna ruta. Nada está funcionando.
Después de la compilación, las fuentes se ven así: