作者tonytonyjan (南洋大兜虫)
看板Ruby
标题[问题] 各位怎麽管理 javascript 和 css assets
时间Sun Sep 2 12:45:05 2012
就依照 RESTful 的设计,例如一个 Post resource 就有 new、edit、show 和 index 四
个 page,如果我对於这四个页面都有他们各自的 css 和 script,我现在是都写在
app/assets/javascripts/posts.js.coffee 和
app/assets/stylesheets/posts.css.scss 里面。
但这样进入各个 page 常会载入用不到的东西(例如进入 show,会载入
posts.js.coffee 和 posts.css.scss 但只用得到里面的 1/4 的程式码和 style)。
但若把 javascript 和 css 又各分成 4 个,这样会变成 8 个档案。在进行 assets
precompile 之前,我要在 config/environments/production.rb 先定义额外的 assets
:
config.assets.precompile += %w(posts_new.css posts_edit.css posts_show.css
posts_index.css)
这样会变得很冗长,所以想来此请教前辈们该如何管理这些档案比较恰当?
把全网站的 javascript 和 css 档案 precompile 成 1 个档案是好方法吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.227.149.147
1F:推 tomap41017:记得production的时候不是都会precompile成1个 09/02 17:22
2F:→ tomap41017:所以也就没必要分开action写了 09/02 17:22
3F:→ tonytonyjan:那是因为加上了 require_tree 才会这样 09/02 18:26
4F:→ tonytonyjan:但这样的话一样会跑更多无关紧要的程式码 09/02 18:27
5F:→ tonytonyjan:这样一样没解决我问的问题 09/02 18:28
6F:→ markmcm:编成一个档案就能省REQUEST数,这会比你少载入东西更有效 09/02 20:19
我现在就是一个页面的 css 和 js request 各一个,
只是每页 request 的 css、js 档案各有属於自己的就是了。
所以不会在同一页下载一个以上的 css 或 js。
这样仍建议要合并整个网站的 css、js 成为一个档案吗?
※ 编辑: tonytonyjan 来自: 61.227.149.147 (09/02 20:29)
7F:→ hechian:require_tree . #删掉 09/07 20:53
8F:→ hechian:手动把你要用到的给加进去就好,但是没必要分开action 09/07 20:53
9F:→ hechian:善用SCSS的特性,用巢状的方式替action设计CSS 09/07 20:54