Commenti su Discourse in Vuejs

Ho un sito web che utilizza Vue.js e un forum su Discourse. Sto cercando di inserire uno script JavaScript nel file del template per collegare i commenti del forum a una pagina specifica del sito Vue.js, ma ottengo l’errore:

I template dovrebbero occuparsi esclusivamente di mappare lo stato sull'interfaccia utente.
Evita di inserire tag con effetti collaterali nei tuoi template, come <script>,
poiché non verranno analizzati.

Ho provato a cambiare text/javascript in application/javascript, ma quando provo a renderizzarlo ricevo l’errore:

 - espressione non valida: manca una ) dopo l'elenco degli argomenti in

" \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"

  Espressione grezza: 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  })();

Per quanto ne so, l’uso di file JS in Vue.js è consentito solo dal dominio da cui proviene la chiamata. Il mio forum è impostato su un sottodominio.

Come posso risolvere questo errore? Forse dovrei provare a utilizzare una parte diversa del codice?

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.

Ho avuto lo stesso problema e dopo qualche esperimento ecco una possibile soluzione per le applicazioni a pagina singola: Embed comments from Discourse in your single page app