2012-10-25 28 views

回答

3

我發現這個問題有趣,足以找出一些解決方案,並收集關於這個問題的一些基本思想。其文檔中

流星指出,應用程序應該這樣一種方式,它是不敏感的哪些文件被加載(見Meteor documentation)的順序。雖然(理想情況下)這是設計和加載javascript模塊和依賴關係的好範例,但它提出瞭如何在基礎之上定義用戶樣式時的最佳做法,如引導

事實上爲了事項當它涉及到的CSS以這種方式特定的風格應該覆蓋默認樣式。使用Meteors 引導程序封裝的加載順序爲bootstrap.cssbootstrap_responsive.css直接依次固定定義。因此,說,「在飛行」之間的東西是不可能的。

推薦的解決方案:覆蓋上的自舉的頂部/響應

在我看來最好的做法是裝載之後就定義和加載用戶樣式的方式,他們像期望的工作,所有的基礎文件。舉個例子:

引導-user.css

@media (min-width: 980px) { 
    body { 
    padding-top: 60px; 
    padding-bottom: 40px; 
    } 
} 

將這個變成你的用戶CSS文件中的一個,一切都應該罰款。您的項目根目錄中的用戶css文件是,總是在智能包文件(如引導程序包鏈接的那些文件)後加載

好,這裏是「風格間」的做法

如果你仍然想破解它以這種方式像this answer描述(甚至嘰嘰喳喳本身建議),你可以去寫自己的智能包

package.js

Package.describe({ 
    summary: "UX/UI framework from Twitter - My variant" 
}); 

Package.on_use(function (api) { 
    api.add_files('css/bootstrap.css', 'client'); 
    api.add_files('css/bootstrap-pre-responsive.css', 'client'); 
    api.add_files('css/bootstrap-responsive.css', 'client'); 
    ... 
    // More resource definitions like glyphicons-halflings go here 
    ... 
} 

雖然packag Ë文件CSS /自舉預responsive.css包含:

body { 
    padding-top: 60px; 
    padding-bottom: 40px; 
} 

或者你可以跳過使用智能包引導整合,而是讓只是讓流星收集並裝載該項目的資源 - 負載的約定在Meteor文檔的概念部分中描述了項目根目錄中的順序。但是:這意味着按字母順序命名文件以反映所需的順序! (不是很優雅)

但是,我個人不喜歡像後面描述的那樣解決問題的方式。

最後但並非最不重要:當然,它有時是最好的方式來建立和編譯自己的助推器變體,所有想要的樣式縮小爲一個文件。