使用自定义组件中的API

我正尝试从一个自定义组件访问 API,在 HTML 主体中使用了以下代码片段:

<script type="text/discourse-plugin" version="0.8">
  console.log("###########", api.getCurrentUser());
</script>

但是,此代码片段并未出现在页面 HTML 中。

这里正确的方法是什么?

顺便说一句,这是几年前提出的同一个问题,但没有得到解答:

你好,Garrett!

如果你将这段代码放入你的主题组件的 Head 标签中,

你应该能够在浏览器的 控制台 中看到输出(这里不会显示任何 HTML):

image

学习主题组件的实用指南(还有 Customization > Theme component 标签):+1:

谢谢。我把这段代码放在了 body 部分。

令我惊讶的是,head 的行为在这里有所不同。看起来 Discourse 会从 body 部分移除这些 api 代码片段。其他脚本元素则保留在那里。