У меня есть webapp, который я разрабатываю, который использует интерфейс HTML + Javascript (Angular 1.5.0) + CSS. Веб-сайт отлично работает, когда я запускаю его на своем локальном хосте. У меня есть файл /index.html
. Этот файл импортирует мой код javascript следующим образом: <script src="/app/app.js"></script>
Но теперь я только что реализовал автоматическую литировку, ouglifying и т.д., Используя Grunt. Grunt очень красиво преобразует мой единственный файл Javascript (/app/app.cs
) в миниатюрный (/dist/js/app.min.js
). Я изменил свой /index.html
включив вместо него minnified Javascript: <script src="/dist/js/app.min.js"></script>
. Но теперь приложение перестает работать. И в консоли браузера dev я вижу следующую ошибку:
angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:unpr] Unknown provider: a
http://errors.angularjs.org/1.5.0/$injector/unpr?p0=a
at http://127.0.0.1:8080/bower_components/angular/angular.js:68:12
at http://127.0.0.1:8080/bower_components/angular/angular.js:4397:19
at getService (http://127.0.0.1:8080/bower_components/angular/angular.js:4550:39)
at injectionArgs (http://127.0.0.1:8080/bower_components/angular/angular.js:4574:58)
at Object.invoke (http://127.0.0.1:8080/bower_components/angular/angular.js:4596:18)
at runInvokeQueue (http://127.0.0.1:8080/bower_components/angular/angular.js:4497:35)
at http://127.0.0.1:8080/bower_components/angular/angular.js:4506:11
at forEach (http://127.0.0.1:8080/bower_components/angular/angular.js:321:20)
at loadModules (http://127.0.0.1:8080/bower_components/angular/angular.js:4487:5)
at createInjector (http://127.0.0.1:8080/bower_components/angular/angular.js:4409:19)
http://errors.angularjs.org/1.5.0/$injector/modulerr?p0=raptorApp&p1=Error%…F%2F127.0.0.1%3A8080%2Fbower_components%2Fangular%2Fangular.js%3A4409%3A19)
Почему нормальный Javascript файл работает нормально, но тот, который был сокращен Grunt, не будет? Как я могу это исправить?
Ваш угловой компонент подвергается миниатюре, и нет способа узнать, какую услугу нужно вводить. Вы должны украсить свои контроллеры и другие части, чтобы позволить угловому устройству работать правильно. Читайте здесь: Angularjs минимизирует передовой опыт