据说,我的index.html中有类似的内容
<!-- build:js lib.js -->
<!--[if (!IE)|(gt IE 8)]><!--><script src="lib/jquery/jquery.js"></script><!--<![endif]-->
<!--[if lte IE 8]><script src="lib/jquery/jquery-ie8.js"></script><![endif]-->
<script src="lib/jquery-ui/jquery-ui.js"></script>
<script src="lib/bootstrap/bootstrap.js"></script>
<!-- endbuild -->
我使用useminPrepare / usemin以及concat和uglify,将所有javascript文件合并为一个,uglify它们然后替换生成的html中的引用,指向这一个文件。如果您可以将其缩小到单个块,这可以正常工作。但是上面的情况怎么样?显然,我不希望它将两个版本的jquery打包到一个文件中。我希望它分成两个路径,创建两个版本的lib.js - 一个组合所有常见文件加上某些IF中的文件,另一个 - 所有常见文件加上来自其他IF的文件。
这样的事情可能吗? AFAIK,usemin非常简单,只需解析单个块即可。你不能关闭一个块然后再打开它(它会抱怨)。您无法打开一个块并在以后继续。对于这个应该是频繁的问题,你有什么解决方案?
我想我可以将它拆分成更多单独的块,但是然后将缩小和连接点放在一个文件上有点没有实际意义。理想情况下,我希望它遍历某些路径通过html,收集所有文件并将它们构建到一个文件中,然后遍历,转到另一条路径并构建另一个文件(即一个用于ie8,另一个用于休息)。有什么想法吗?