Comentarios de Discourse en Vuejs

Tengo un sitio web que utiliza Vue.js y un foro en Discourse. Estoy intentando insertar un script de JavaScript en el archivo de plantilla que conecte los comentarios del foro con una página específica del sitio Vue.js, pero obtengo el siguiente error:

Las plantillas solo deben ser responsables de mapear el estado a la interfaz de usuario.
Evite colocar etiquetas con efectos secundarios en sus plantillas, como <script>,
ya que no serán analizadas.

Intenté cambiar text/javascript por application/javascript, pero al intentar renderizarlo, recibo el siguiente error:

 - expresión inválida: falta ) después de la lista de argumentos en

" \n  DiscourseEmbed = { discourseUrl: 'https://forum.epicseven.ru/',\n                     \ndiscourseEmbedUrl: '"+_s(url absolute="true")+\"' };\n\n  (function() {\n    \nvar d = document.createElement('script'); d.type = \n'application/javascript'; d.async = true;\n    d.src = \nDiscourseEmbed.discourseUrl + 'javascripts/embed.js';\n    \n(document.getElementsByTagName('head')[0] || \ndocument.getElementsByTagName('body')[0]).appendChild(d);\n  })();\n\"\n\n  Expresión sin procesar: DiscourseEmbed = { discourseUrl: \n'https://forum.epicseven.ru/',\n                 discourseEmbedUrl: '{{url absolute="true"}}' };\n\n  (function() {\n    var d = document.createElement('script'); d.type = \n'application/javascript'; d.async = true;\n    d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';\n    (document.getElementsByTagName('head')[0] || \ndocument.getElementsByTagName('body')[0]).appendChild(d);\n  })();

Según entiendo, el uso de archivos JS en Vue.js solo está permitido desde el dominio desde el cual se realiza la llamada. Mi foro está configurado en un subdominio.

¿Cómo puedo solucionar este error? ¿Quizás debería intentar usar una parte diferente del código?

The embedding code we provide is meant for static sites, not client side rendered (SPAs) like Vue/React/Ember/Angular.

You will have to look into another method of obtaining the data from Discourse. We do offer a full API but you might have to proxy it through your own server to avoid cross domain requests.

3 Me gusta

Tuve el mismo problema y, después de experimentar un poco, aquí hay una posible solución para aplicaciones de una sola página: Embed comments from Discourse in your single page app

Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.