Почему мой Javascript будет работать нормально, но не так? [Дубликат]

0

У меня есть 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, не будет? Как я могу это исправить?

  • 0
    Использование grunt-ng-annotate до минимизации работало для меня. Спасибо! npmjs.com/package/grunt-ng-annotate
Теги:
gruntjs
grunt-contrib-uglify

1 ответ

6

Ваш угловой компонент подвергается миниатюре, и нет способа узнать, какую услугу нужно вводить. Вы должны украсить свои контроллеры и другие части, чтобы позволить угловому устройству работать правильно. Читайте здесь: Angularjs минимизирует передовой опыт

  • 0
    Использование grunt-ng-annotate до минимизации работало для меня. Спасибо! npmjs.com/package/grunt-ng-annotate

Ещё вопросы

Сообщество Overcoder
Наверх
Меню