虽然这种做法在技术上是可行的,但它并不是理想的方法。
与其使用脚本标签和 jQuery 的 $(document).ready,不如正确地使用 Ember 的渲染系统。
首先,最好创建一个主题组件存储库,为你的主题组件提供一个合适的文件夹结构。可以看看 discourse_theme CLI,它会为你搭建这个结构,并让你轻松开发组件。(或者,如果你只需要结构而不需要主题 CLI 的其他功能,也可以使用 theme skeleton)。
从这里开始,我将使用 Discourse 为可扩展性提供的工具,例如 apiInitializers、pluginAPI、插件插槽等来实现你想要的功能。
学习这些的最佳方法是仔细阅读 Meta 上的开发者指南(特别是主题/主题组件部分)。此外,我还会浏览 Theme component 类别并查找它们的 GitHub 存储库。通过查看它们的代码以及它们实现功能的方式,也会对你有所帮助。
希望这有帮助!