如何阻止流星自动合并我的CSS文件?

时间:2017-03-12 11:19:07

标签: css meteor merge meteor-blaze

我有2个html文件相互链接,并且每个文件都有不同的css文件,但meteor会自动合并它们。 我怎么阻止这个?

3 个答案:

答案 0 :(得分:1)

你做不到。 Meteor合并CSS以优化其网络传输 如果您想选择样式表在合并的CSS中的顺序,您可能需要:
- 使用SASS,LESS或Stylus等语言生成css,以便按照您想要的顺序执行@import 'imports/ui/yourstylesheet.scss'@import个文件。请注意,如果您选择将语言用作SASS或LESS,则需要将要导入的sass / less文件放入/ import中,以便手动导入它们(将文件放在/ imports之外的其他位置会自动导入文件) 。并通过import文件夹中的SASS / LESS / stylus文件/client这些文件 OR
- 将您的CSS放在/client文件夹中,并了解Meteor的规则,以选择加载CSS的顺序:

  

根据应用程序加载应用程序中的JavaScript和CSS文件   这些规则:

     

子目录中的文件在父目录中的文件之前加载,   以便首先加载最深子目录中的文件和文件   在根目录中最后加载。

     

在目录中,文件按字母顺序加载   文件名。

     

如上所述排序后,所有文件都在名为的目录下   lib先于其他一切移动(保留其顺序)。

     

最后,所有匹配main。*的文件都会在其他所有文件之后移动   (保留他们的命令)。

OR
- 您将.css放在/imports目录中(因此Meteor不会自动导入它们,因此您可以选择加载css文件的顺序)。您可以通过放入css的{​​{1}}(javascript)文件导入.js(因为您的浏览器会加载/client文件)。在/client文件中,您.js导入您的CSS。

这三种方法的缺点分别是:
- 如果您不了解这些语言,您必须学习一门语言:手写笔少或少 - 依靠复杂的规则来选择加载css的顺序可能无法维护,并且要求你为css指定具体的名称
- import '/imports/ui/mystylesheet.css'文件中加载的css文件放在DOM内的.js标记中,而不是加载到单独的<style>文件中(不建议这样做)。除了以这种方式加载的CSS不使用Meteor插件提供的工具链(压缩CSS,添加前供应商前缀以最大化你的CSS的兼容性以及你提供的任何插件)。

答案 1 :(得分:1)

您可以仔细更改负载顺序。比如让一个覆盖另一个。

例如,考虑以下文件结构

SpannableString styledString = new SpannableString(Text);
ClickableSpan clickableSpan = new ClickableSpan() {
                    @Override
                    public void onClick(View widget) {

                    }
                };
styledString.setSpan(clickableSpan, 0, Text.length(), 0);

此处,page1.js将导入page1.css,此css将应用于page1.html中的模板

类似地,page2.js可以导入page2.css,并且在呈现page2.html时将应用相同的内容。

答案 2 :(得分:0)

如果您使用的是铁路由器,则可以在调用路由时将css类添加到模板中。

 Router.route('/addMemberProfile',{
 onBeforeAction: function () {
 $('body').addClass('your required class for this template');

  this.next();
 },