Сопоставление и минификация исходных карт Yeoman Angular

Проблема

Точки останова не ломаются в браузере из исходных карт, сгенерированных с помощью задачи grunt yeoman-angular-generator. Код был объединен и минимизирован.

Что я пробовал

Я просмотрел этот ответ переполнения стека для настройки задачи grunt и сгенерировал то, что я думаю, является правильной исходной картой, использующей следующую конфигурацию ворчания:

concat : {
  options : {
    sourceMap :true
  }
},
uglify: {
  options: {
    sourceMap: true,
    sourceMapIncludeSources : true,
    sourceMapIn : '.tmp/concat/scripts/scripts.js.map'
  }
},

В чем мне нужна помощь

Кто-нибудь использовал yeoman-angular-generator и сумел объединить, а затем минимизировать свой код и создать из него исходные карты? Какие шаги необходимы, чтобы заставить его работать?

Мне нужно объединить и минимизировать мой код. Легко заставить исходные карты работать с ТОЛЬКО минификацией или ТОЛЬКО с конкатенацией, но с ОБА конкатенацией и минимизацией это работает не так хорошо.

Есть ли этому решение?


comment
Вы нашли решение?   -  person darksoulsong    schedule 09.12.2015


Ответы (1)


Я смог сделать это, изменив конфигурацию usemin и добавив некоторые свойства в объект конфигурации concat/uglify. Но внимание, файлы dist, созданные с помощью этих опций, не годятся для производства!

useminPrepare: {
  html: '<%= yeoman.app %>/index.html',
  options: {
    dest: '<%= yeoman.dist %>',
    flow: {
      html: {
        steps: {
          js: ['concat', 'uglifyjs'],
          css: ['cssmin']
        },
        post: {
          js: [{
            name: 'uglify',
            createConfig: function (context, block) {
              var generated = context.options.generated;
              generated.options = {
                stripBanners: true,
                mangle: false,
                sourceMap: true,
                sourceMapIncludeSources: true,
                compress: false,
                beautify: true
              };
            }
          },
          {
            name: 'concat',
            createConfig: function (context, block) {
              var generated = context.options.generated;
              generated.options = {
                //stripBanners: true,
                //mangle: false,
                sourceMap: true,
                sourceMapIncludeSources: true,
                separator: ';',
              };
            }
          }]
        }
      }
    }
  }
}
person FAvIo41    schedule 04.08.2015
comment
Это не особо помогает. Дополнительная конфигурация не минимизирует скрипты. Зачем вообще нужны исходные карты для не минимизированного кода? - person darksoulsong; 09.12.2015