1

В настоящее время я пишу файл Grunt Build; который использует "usemin" Я создал 3 блоков в HTML, который будет создавать 3-файлы assets.min.js, lib.min.js и т.д ..Concat Minified files & skip Minification using Grunt

<!-- build:js js/assets.min.js --> 
<script type="text/javascript" src="app/assets/js/lib/angular.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-cache.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-route.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-animate.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-touch.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-cookies.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/jquery-1.10.1.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/jqueryui.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/bootstrap.min.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/bootstrap-switch.min.js"></script> 
<!-- endbuild --> 

Это прекрасно работает. Но Есть 2 основные проблемы, я столкнулся с ним ...

  1. Угловые показывает ошибку «Uncaught ошибка [$ Инжектор: modulerr]. ..
  2. кажется Usemin также miniifying файлы снова

Я также попытался 2-й вариант, с помощью только concatinating эти файлы, т.е. минуя минификация шаг, избегая Usemin .. все тот же ошибку

Пожалуйста, руководство

+0

пожалуйста, посмотрите на https://github.com/btford/grunt- ngmin делает угловую подготовку для вас. – michael

+0

Я использую «ng-min» уже. Но не знаю, в чем проблема. –

+0

Вы решили это? Я также уже использую ng-min и получаю эту ошибку. – max

ответ

0

Угловое использует что-то называемое инъекцией зависимостей для разрешения ваших аргументов. Угловой знает, что каждый объект по имени.

«$ scope» будет инициализирован как объект области видимости, потому что он называется «$ scope». После usemin эта переменная будет называться чем-то другим, например «a», для сохранения байтов. Угловой не знает, что такое «а», и выдает ошибку.

Вы можете решить эту проблему следующим образом:

  1. Читайте здесь о минификации угловых приложений http://docs.angularjs.org/tutorial/step_05

  2. Либо следовать руководству вручную или использовать ngmin процесса ДО запуска уродовать.

Надеюсь, это поможет!

0

Вы можете решить это двумя способами.
1. Использование unminified файлов в usemin блоке

<!-- build:js js/assets.min.js --> 
<script type="text/javascript" src="app/assets/js/lib/angular.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-cache.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-route.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-animate.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-touch.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/angular-cookies.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/jquery-1.10.1.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/jqueryui.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/bootstrap.js"></script> 
<script type="text/javascript" src="app/assets/js/lib/bootstrap-switch.js"></script> 
<!-- endbuild --> 


2. Скопируйте скрипты, использующие черновую задачу

copy:{ 
    scripts:{ 
    files:[{ 
     expand: true, 
     cwd:'<%= config.app %>', 
     dest: '<%= config.tmp %>', src: ['app/assets/js/lib/**/*.min.js'] 
    }] 
    }, 
}