使用主题而非插件进行自定义的优缺点

通过将 主题 JavaScript 拆分为多个文件,您可以利用主题通过 Ember 实现插件所能完成的所有功能。

因此,如果您不需要创建路由、修改序列化器或存储自定义数据,很可能仅通过一个主题就能实现您的目标。

从支持角度来看,我们观察到自定义插件面临的最大挑战是网站停机。这通常是因为插件修补了 Rails 核心中已更改的类或方法,而插件尚未更新以适配这些变更。如果 Ember 端发生某些变更导致主题或主题组件失效,网站可能无法正确渲染,但您可以使用 /safe-mode 快速禁用它。

我理解您的观点。此外,该 gem 使您能够在本地开发主题,并将其同步到您拥有 API 密钥的任何 Discourse 站点,包括 theme-creator.discourse.org。即使您没有设置本地开发环境,只要运行该 gem 即可实现此功能。