将文件捆绑到不同的目录中?

我最近在一个网站上遇到了一个问题,网页上的样式真的搞砸了,但只在IE中。 我的老板告诉我这很可能是因为被渲染的CSS Bundle包含来自不同目录的CSS文件,所以我查了一下并确实做到了。 它类似于以下内容:

    bundles.Add(new StyleBundle("~/path/subpath/all").Include(
                 "~/path/subpath/filename.css",
                 "~/path/subpath/filename1.css",
                 "~/path/subpath/filename2.css",
                 "~/path/subpath/filename3.css",
                 "~/path/subpath/anotherSubPath/filename.css",
                 "~/path/subpath/anotherSubPath/filename1.css",
                 "~/path/aDifferentSubPath/filename.css"));

他说Bundling不能像这样工作,你只能在一个Bundle中拥有相同目录的文件,所以我把它们分成如下所示:

bundles.Add(new StyleBundle("~/path/subpath/all").Include(
             "~/path/subpath/filename.css",
             "~/path/subpath/filename1.css",
             "~/path/subpath/filename2.css",
             "~/path/subpath/filename3.css"));

bundles.Add(new StyleBundle("~/path/subpath/anotherSubPath/all").Include(
             "~/path/subpath/anotherSubPath/filename.css",
             "~/path/subpath/anotherSubPath/filename1.css"));

bundles.Add(new StyleBundle("~/path/aDifferentSubPath/all").Include(
             "~/path/aDifferentSubPath/filename.css"));

这工作和解决我们的问题在IE浏览器。 好,现在到我的问题:

  • 我的老板是对的吗? 你不能捆绑来自不同文件夹的文件吗?
  • 如果他是正确的,为什么这只会在IE中破解? 为什么你只能从同一个目录中捆绑文件?
  • 如果他不正确,可能是什么问题? 为什么要拆分捆绑包已经解决了它?

  • 对于旧版本的IE,至少<10有一些已知的限制

    IE可以加载的CSS和脚本文件的数量 - 如果您在Debug模式下运行站点时,这可能是一个问题,捆绑包没有捆绑在一起。

    如果情况并非如此,那么你的文件中是否有超过4,096个选择器?

    Internet Explorer CSS限制


    捆绑名称和文件夹存在常见问题,当您的css文件使用静态文件(如图像,字体等)的相对路径时

    例如你有:

     bundles.Add(new StyleBundle("~/path/subpath/all").Include(
                 ...
                 "~/path/subpath/anotherSubPath/filename1.css"));
    

    并在你的filename1.css使用background: url(image.jpg) ,通常这个图像与filename1.css位于同一个文件夹,即~/path/subpath/anotherSubPath/image.jpg 。 使用下面的bundels会使浏览器查找不存在的文件~/path/subpath/all/image.jpg 。 也许这就是分离包的原因。


    你的老板听起来很棒! 首先,CSS路径与CSS文件相关,所以我怀疑这就是为什么他建议你改变它。

    但CSS长度也可能是一个问题,所以可能是这种情况下的根本原因。

    不幸的是,在浏览器中有一些小问题需要注意,比如这个CSS,或者Apple设备上的图像大小(之前与精灵表单碰撞)。 你的老板听起来像是一种动态的东西,打开了那个会知道的人。

    链接地址: http://www.djcxy.com/p/84993.html

    上一篇: Bundling files in different directories?

    下一篇: Regular expression to split by forward slash