使用 Grunt 进行有条件的 js 缩小

Conditional js minification with Grunt

我有单页 angular 应用程序,其代码在构建之前被缩小和连接。 它适用于 grunt use-min 任务并在 index.html

中构建块
<!-- build:js js/components.min.js -->
<script src="components/jquery/dist/jquery.js"></script>
<!-- other bower components -->
<!-- endbuild -->

<!-- build:js js/app.min.js -->
<script src="js/app.js"></script>
<!-- other application specific js files -->
<!-- endbuild -->

它最后创建了两个文件:app.min.js 和 components.min.js。

但现在我需要参数化 grunt 任务以根据参数 生成app.min.js。 (我需要一个构建,其中所有内容都将被缩小以用于生产,另一个构建 - 没有缩小应用程序代码 - 用于 "business" 目的)。

如何配置 useminPrepare 有时取所有块有时不取?

因为我没有得到任何有效答案,所以我的解决方法是:

  1. 为 'business' 构建创建单独的 grunt 任务
  2. regex-用 useminPrepare
  3. 替换处理 index.hmtl 之前不需要的所有 usemin 构建注释
  4. 进行所有处理
  5. 从备份恢复index.html