# 我想开始为 Discourse 开发，应该从哪里开始？

**URL:** https://meta.discourse.org/t/i-d-like-to-start-developing-for-discourse-where-should-i-begin/148810
**Category:** Development
**Created:** [2020年四月22日 05:50 UTC](https://meta.discourse.org/t/i-d-like-to-start-developing-for-discourse-where-should-i-begin/148810 "2020-04-22T05:50:34Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2020年四月22日 06:44 UTC](https://meta.discourse.org/t/i-d-like-to-start-developing-for-discourse-where-should-i-begin/148810/2 "2020-04-22T06:44:37Z")

</div>

太好了！

关于这一点，有一些很有用的帖子。我会分享我写的那篇，因为它引用了这些内容：[How can I make my own Discourse plugins? - #2 by merefield](https://meta.discourse.org/t/how-can-i-make-my-own-discourse-plugins/90032/2?u=merefield)

（不过我个人现在更推荐使用 VSCode）

一个入门方法是先通过提交 PR 来帮助支持现有的插件（我就是这么开始的），从解决小问题开始，然后逐步处理更大的问题，甚至添加新功能。

如果你有一个相对简单的插件或主题组件（Theme Component）的想法，那就从那里开始吧。个人的创作目标往往能带来很强的动力。

一开始不要贪多，先从简单的入手，因为最不想看到的就是失去动力：这些东西可能很难，尤其是当你想要进行根本性修改的时候。

请保持耐心。EmberJS 是一个特别棘手、需要花时间去理解的框架。

我的建议是：先从主题组件（Theme Components）开始，稍后再涉足插件开发。

充分利用现有的插件和主题组件库作为参考。也许有人之前已经解决过类似的问题？他们是怎么做的？去看看代码吧。始终遵循 Discourse 核心设定的标准。Discourse 的源代码也是极其宝贵的资源。

也许最好的建议就是：直接动手去做！学习的唯一途径就是真正“弄脏双手”。不要害怕犯错，也永远不要让挫败感阻止你。坚持下去，事情最终会成功的。尽量自己解决问题，但在实在需要的时候，也可以随时向他人求助。

---

_[View the full topic](https://meta.discourse.org/t/i-d-like-to-start-developing-for-discourse-where-should-i-begin/148810)._
