Usemin和多个构建配置

use*_*284 6 javascript gulp gulp-usemin

以下是我的index.html文件中的usemin构建配置示例

<!-- build:js js/one.js -->
<script src="app/modules/one/one.js"></script>
<script src="app/modules/one/two.js"></script>
<script src="app/modules/one/three.js"></script>
<!-- endbuild -->

<!-- build:js js/two.js -->
<script src="app/modules/two/one.js"></script>
<script src="app/modules/two/two.js"></script>
<script src="app/modules/two/three.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)

对于开发版本,我不想缩小脚本,我希望每个模块都有自己的js文件.所以index.html运行后会是

<script src="js/one.js"></script>
<script src="js/two.js"></script>
Run Code Online (Sandbox Code Playgroud)

对于生产版本,我想缩小脚本并将它们连接成一个文件.所以index.html就是

<script src="js/myApp.js"></script>
Run Code Online (Sandbox Code Playgroud)

我尝试了以下,但它不起作用:

<!-- build:myApp js/myApp.js -->
<!-- build:js js/one.js -->
<script src="app/modules/one/one.js"></script>
<script src="app/modules/one/two.js"></script>
<script src="app/modules/one/three.js"></script>
<!-- endbuild -->

<!-- build:js js/two.js -->
<script src="app/modules/two/one.js"></script>
<script src="app/modules/two/two.js"></script>
<script src="app/modules/two/three.js"></script>
<!-- endbuild -->
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)

并运行像这样的use-min任务(prod将在prod任务中设置为true,在dev任务中设置为false) -

usemin({
          myApp: prod?[uglify({mangle:true})]:'',
          js: prod?'':[uglify({mangle:false})]
      }).
Run Code Online (Sandbox Code Playgroud)

我可以保留两个index.html文件并管理它.但我想知道这可以用一个index.html实现吗?

在此先感谢您的帮助.

Sta*_*rov 2

那这个呢?将所有 javascript 文件合并为 2 个文件,就像您的开发环境中一样。然后将这两个文件合并为一个大文件?

<!-- build:js js/one.js -->
<script src="app/modules/one/one.js"></script>
<script src="app/modules/one/two.js"></script>
<script src="app/modules/one/three.js"></script>
<!-- endbuild -->

<!-- build:js js/two.js -->
<script src="app/modules/two/one.js"></script>
<script src="app/modules/two/two.js"></script>
<script src="app/modules/two/three.js"></script>
<!-- endbuild -->

<!-- build:myApp js/myApp.js -->
<script src="js/one.js"></script>
<script src="js/two.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)

或者甚至用一个构建来标记所有文件?

<!-- build:myApp js/myApp.js -->
<script src="app/modules/one/one.js"></script>
<script src="app/modules/one/two.js"></script>
<script src="app/modules/one/three.js"></script>
<script src="app/modules/two/one.js"></script>
<script src="app/modules/two/two.js"></script>
<script src="app/modules/two/three.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)