Usemin и несколько конфигураций сборки

Ниже приведен пример конфигурации сборки usemin в моем файле index.html.

<!-- 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 -->

Для версии разработки я не хочу минимизировать скрипты, и я хочу, чтобы каждый модуль был в своем собственном файле js. Таким образом, index.html после запуска будет

<script src="js/one.js"></script>
<script src="js/two.js"></script>

Для рабочей версии я хочу минимизировать сценарии и объединить их в один файл. Так что index.html будет

<script src="js/myApp.js"></script>

Я попробовал следующее, но это не работает:

<!-- 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 -->

И запустите задачу use-min следующим образом (prod будет иметь значение true в задаче prod и false в задаче dev) -

usemin({
          myApp: prod?[uglify({mangle:true})]:'',
          js: prod?'':[uglify({mangle:false})]
      }).

Я могу сохранить два файла index.html и управлять этим. Но мне было интересно, можно ли этого достичь с помощью одного index.html?

Заранее благодарю за любую помощь.

2 ответа

Похоже, вы используете тот же идентификатор конвейера: JS

 <!-- build:js js/one.js -->
 <!-- build:js js/two.js -->

Попробуйте использовать уникальные идентификаторы конвейера следующим образом:

 <!-- build:js1 js/one.js -->
 <!-- build:js2 js/two.js -->

Как насчет этого? Объедините все файлы JavaScript в 2 файла, как в вашем dev env. После этого просто объединить эти два файла в один большой?

<!-- 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 -->

Или даже пометить все файлы одной сборкой?

<!-- 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 -->
Другие вопросы по тегам