簡體   English   中英

流星CSS和JavaScript文件加載最佳做法

[英]Meteor css and javascript files loading best practice

TL,DR: 如何獨立於流星關於字母順序的假設加載CSS和javascript文件(與實際工作方式相去甚遠)。

Stackoverflow告訴我這個問題可能是主觀的,但我希望不是。

流星根據字母順序(和其他規則)加載文件。
因此,要強制它按我想要的順序加載CSS和JS文件,我必須以表明加載順序的數字開始該文件。 如果我有jquery.jsbootstrap.js ,Meteor將在jquery.js之前加載bootstrap.js 但是引導程序取決於jquery,因此必須先加載jquery。

為了解決這個問題,選項是:
1.將文件放在public目錄中,然后手動加載它們。 但這不起作用,因為Meteor似乎正在發送具有text/html MIME類型的文件。
2.創建一個Meteor包,並從那里指定加載順序。 我發現這就像用錘子砸蒼蠅只是為了加載CSS和Javascript。
3.在每個文件前加一個數字。 在前面的示例中,要在引導程序之前加載jquery,請將文件名重命名為1.jquery.js2.bootstrap.js2.bootstrap.js有效又乏味,但至少我可以按照所需的方式加載文件。

我是Meteor的新手,所以我想知道是否有關於此的推薦最佳實踐。 我當時在考慮將AMD用於javascript,但僅限於javascript。

這是一個有趣的問題,這可能是制作Meteor應用程序的陷阱之一。

您已經提到了所有可用的解決方案,例如創建顯式包或重命名文件。

我認為最好的方法是使用大氣包裝。 例如,如果添加引導程序,則jquery是它的依賴項,因此它將始終首先加載。 大多數涉及加載順序的js庫通常都處於大氣中。

如果沒有大氣包,另一種最好的方法是,雖然我不確定我會說乏味,但是在js文件前放置一個數字以指示加載順序。

一件事是,當您使用/public文件夾時,文件映射到/ ,因此您可以按照想要的順序手動加載js文件(在使用/ public的html根文件中。Meteor返回text / html MIME類型為它的404文件版本未找到錯誤。此方法有點麻煩,因為文件在生產中是分開存放的,如果一個或另一個不加載,可能會造成麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM