这是一个值得关注的问题,在保留要求的同时难以解决。
通过grunt任务使用usemin
来优化复杂且相当大的应用程序的构建。现在的问题是,IE8和IE9正在从单个文件中删除CSS规则声明,这是由于模糊的4095最大规则限制而构建的。
目前,它的工作原理如下:
main-min.css
main-min.css.map
main-min.<hash>.css
,main-min.<hash>.css.map
未来,它需要:
main-min.css
main-min-part1.css
和main-min-part2.css
(依此类推)。目前不返回新文件的名称,不支持源地图 - 但这很容易修补和添加或读取FS assetDir
并且包括所有单独的(不连接),这似乎缺少尝试专门创建单个文件的示例/工作流。此类设置的任何想法/示例都表示赞赏。或替代方法。
答案 0 :(得分:0)
如果我理解你的要求,这是解决问题的简短想法:
Steps:
1. Defined a pattern in your index.html. For instance:
<!--USE_MIN_BLOCKS-->
<!--END_BLOCK-->
2. Make a new replace task to replace above block with new usemin blocks dynamically (based on generated files of grunt-csssplit).
For instance:
replace: {
usemin: [{
match: /<!--CSS_USEMIN_BLOCKS-->[\S\s]+<!--END_BLOCK-->/i, replacement: function() {
//put your link tag here
linkTag += ' <!-- build:css css/' + cssFile + ' -->\n';
linkTag += ' <link rel="stylesheet" href="css/' + cssFile + '">\n';
linkTag += ' <!-- endbuild -->\n';
}
}]
}
3. Run the replace:usemin task before usemin task.