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

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


person Saurabh Udaniya    schedule 05.10.2015    source источник
comment
Это полная ошибка? Обычно в нем указывается, какой контроллер, сервис и т. д. он не может внедрить. Также вы минимизируете свой JavaScript? Если да, то используете ли вы запись массива?   -  person ste2425    schedule 05.10.2015
comment
похоже, что вы не объявляете свои контроллеры, используя безопасный синтаксис минимизации, но, не видя никакого кода, это невозможно знать наверняка. если вы используете Angular 1.3 или выше, вы можете использовать ng-strict-di для того же элемента, что и ваш ng-app, чтобы проверить наличие проблем с внедрением зависимостей.   -  person Claies    schedule 05.10.2015
comment
не могли бы вы добавить свой код глотка, а также структуру вашего приложения?   -  person gon250    schedule 05.10.2015
comment
@ ste2425 Я не минимизирую JS (я собирался, но застрял на этом шаге), но, согласно URL-адресу, на который меня перенаправили, мне сообщалось, что я пропустил модуль, снова проверю задачу gulp.   -  person Saurabh Udaniya    schedule 05.10.2015
comment
@ gon250 Я проверил gulp-код и пропустил основной файл, теперь он работает   -  person Saurabh Udaniya    schedule 05.10.2015
comment
@SaurabhUdaniya Если вы исправили это, вы можете опубликовать ответ на свой вопрос и принять его. Может помочь другим, у кого есть похожая проблема.   -  person ste2425    schedule 05.10.2015


Ответы (3)


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

person Saurabh Udaniya    schedule 05.10.2015

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

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

.pipe(uglify({ mangle: false })
person lele    schedule 11.11.2016

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

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

    $stateProvider   . . .
person Serge U    schedule 22.03.2017