虽然这种方式在技术上可行,但它并不是理想的做法。
与其使用 script 标签和 jQuery 的 $(document).ready,不如更好地利用 Ember 的渲染系统。
首先,建议为你的主题组件创建一个具有合适文件夹结构的主题组件仓库。你可以参考 discourse_theme CLI,它会为你生成这种结构,并让你更容易地开发组件。(另外,如果你只需要结构而不需要主题 CLI 的其他功能,也可以使用 主题骨架)。
接下来,我会使用 Discourse 提供的扩展性工具,例如 apiInitializers、pluginAPI、插件出口(plugin outlets)等来实现你想要达到的效果。
了解这些内容的最佳方式是查阅 Meta 上的开发者指南(特别是主题/主题组件部分)。此外,我建议浏览 Customization > Theme component 分类,找到相关的 GitHub 仓库。查看他们的代码以及他们如何实现某些功能也会对你有所帮助。
希望这对你有帮助!