作者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
推 tomap41017:記得production的時候不是都會precompile成1個 09/02 17:22
→ tomap41017:所以也就沒必要分開action寫了 09/02 17:22
→ tonytonyjan:那是因為加上了 require_tree 才會這樣 09/02 18:26
→ tonytonyjan:但這樣的話一樣會跑更多無關緊要的程式碼 09/02 18:27
→ tonytonyjan:這樣一樣沒解決我問的問題 09/02 18:28
→ 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)
→ hechian:require_tree . #刪掉 09/07 20:53
→ hechian:手動把你要用到的給加進去就好,但是沒必要分開action 09/07 20:53
→ hechian:善用SCSS的特性,用巢狀的方式替action設計CSS 09/07 20:54