Angular Uncaught Error: [$ injector: modulerr] после объединения файлов js в один файл

0

Я создал угловое приложение, и приложение работает нормально, если я использую controllers.js, routes.js, directives.js и т.д. Отдельно в index.html. Но когда я объединяю файлы js в один файл js с помощью gulp-concat (в том же порядке, в котором я включал файлы в свой HTML), я получаю ошибку Angular Uncaught Error: [$ injector: modulerr] Я не уверен как действовать, поскольку ошибка не очень конкретна

  • 1
    Это полная ошибка? Обычно в нем указывается, какой контроллер, сервис и т. Д. Он не может внедрить. Также вы минимизируете свой JavaScript для? Если да, то используете ли вы обозначение массива?
  • 0
    Похоже, вы не декларируете свои контроллеры, используя безопасный синтаксис минификации, но не видя никакого кода, невозможно знать наверняка. если вы используете Angular 1.3 или выше, вы можете использовать ng-strict-di для того же элемента, что и ваше ng-app чтобы проверить наличие проблем с внедрением зависимостей.
Показать ещё 4 комментария
Теги:
gulp-concat

3 ответа

1

Я исправил это, пройдя через ошибку, я обнаружил, что моя задача gulp пропускает некоторые js файлы, которые присутствовали в приложении, я исправил задачу gulp и снова запустил ее, что устранило проблему. После этого я очистил файлы js, передав mangle set в false, чтобы аргументы функции оставались неизменными, и после этого все быстро сработало

0

Я решил эту проблему, убедившись, что я включил все мои инъекции зависимостей (DI) должным образом, предоставив им имя, например, для.config UI Router DI:

.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {

    $stateProvider   . . .
0

У меня была такая же проблема с использованием Gulp. С CDNs он работает нормально, но с использованием локальных файлов.min я получил ошибку: [$ injector: modulerr]

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

.pipe(uglify({ mangle: false })

Ещё вопросы

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