新手问题 discourse 源码中,为什么一个页面 handlebars 一份,views 一份?

QueXuQ · 2013年07月06日 · 最后由 Rei 回复于 2013年07月06日 · 3313 次阅读

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/list/categories.js.handlebars

https://github.com/discourse/discourse/blob/master/app/views/categories/index.html.erb

例如同是 categories 页面,其实 handlebars 就解决了事情了,为什么在 view 下,他们又添加一个 index 呢?

我看 ember 的教程,其实就使用 handlebars,既 ember 的 template 就可以了,然后我在看 discourse 发现他又写了一大堆 view 的页面,搞不懂这是因为什么原因?

给没有 js 的访问者看,比如搜索引擎。

#1 楼 @Rei 给搜索引擎的话,为啥不用 phantonjs 什么的直接渲染一份,重复写 view 感觉很麻烦的样子……

前端渲染好像很新鲜就用了,结果发现为了 SEO 还是要服务器端渲染...

#1 楼 @Rei 哦。就是因为这个所以所有页面就需要去做两套了,与 2 楼同个疑问。

#3 楼 @luikore 很新鲜就用了的意思是想着一开始只是做了前端渲染,后期才想到要把服务器渲染才补上的意思?

#2 楼 @aptx4869 #5 楼 @QueXuQ

我没仔细看乱说的... 仔细看其实两个模板做的事情不同的...

看了历史记录还真是后加的 https://github.com/discourse/discourse/commits/master/app/views/categories/index.html.erb

Show something on categories page when js is disabled

需要 登录 后方可回复, 如果你还没有账号请 注册新账号