我安装了Bootstrap软件包,并提供了一个自定义模板,为我提供了大约10个其他CSS文件。
当我将所有CSS文件放入client/styles
Meteor捆绑包并缩小所有CSS时,这很不错。
但捆绑/加载顺序非常重要。因为,你知道,他们是级联。
Meteor在client
中为CSS文件采取的捆绑订单是什么?
控制它的唯一方法是用数字重命名我的所有样式表文件吗?
100-my_style_that_overwrites_some_bootstrap_defaults.css
110-some_other_styles.css
120-lol.css
然后CSS捆绑的顺序是:
1. bootstrap.css from the bootstrap package
2. 100-my...
3. 110-some...
4. 120-lol...
有更优雅的实用方法吗?
答案 0 :(得分:5)
根据文件加载顺序对CSS进行排序(从Meteor文档略微调整以仅考虑CSS文件):
有几种加载顺序规则。它们按顺序应用 在给定的优先级中,应用程序中的所有适用文件 下面:
- 以main开头的文件。最后加载
- 下一个
加载任何lib /目录中的文件- 接下来加载具有更深路径的文件
- 然后按整个路径的字母顺序加载文件
醇>
您可以先将要加载的文件放在lib
目录中,或使用问题中的文件命名约定。
对于完全粒度控制,您必须创建一个包,并且可以明确定义css文件的加载方式。
在Meteor项目目录中
meteor create --package styles
packages/styles
目录中,您将有一个package.js
文件,您可以在其中明确定义加载顺序。将css文件移动到/packages/styles
目录后,您可以使用Package.onUse
方法中定义的顺序:
api.addFiles([
'bootstrap.css',
'100-my...css',
'110-some...css',
'120-lol.css'
], 'client');
请注意,您可能会认为此约定很尴尬但如果您想在应用中轻松更换主题,则可以提供帮助,您可以轻松删除该包并添加其他内容。
最后将包添加到您的应用中,或者让您的应用确认:
meteor add styles