Как использовать комментарии Дискурса в VueJS? - PullRequest
0 голосов
/ 10 января 2019

У меня есть сайт, который использует Vuejs. И форум в Дискурсе. Я пытаюсь вставить javascript в файл шаблона, который будет связывать комментарии с форума на определенной странице на сайте Vuejs. Но я получаю ошибку:

Templates should only be responsible for mapping the state to the UI. 
Avoid placing tags with side-effects in your templates, such as <script>, 
as they will not be parsed.

Мой Detail.vue код:

<div id='discourse-comments'></div>

<script type="text/javascript">
DiscourseEmbed = { discourseUrl: 'https://forum.epicseven.ru/',
                 discourseEmbedUrl: '{{url absolute="true"}}' };

(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; 
d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || 
document.getElementsByTagName('body')[0]).appendChild(d);
  })();
</script>

Я пытался изменить text/javascript на application/javascript, но когда я пытаюсь сделать это, я получаю ошибку:

 - invalid expression: missing ) after argument list in

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

  Raw expression: DiscourseEmbed = { discourseUrl: 
'https://forum.epicseven.ru/',
                 discourseEmbedUrl: '{{url absolute="true"}}' };

  (function() {
    var d = document.createElement('script'); d.type = 
'application/javascript'; d.async = true;
    d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
    (document.getElementsByTagName('head')[0] || 
document.getElementsByTagName('body')[0]).appendChild(d);
  })();

Как я могу исправить эту ошибку? Может быть, попробовать использовать другую часть кода?

...