app.min.js:7 Ошибка: [$rootScope:infdig] достигнуто 10 итераций $digest(). Прерывание! Наблюдатели уволены за последние 5 итераций

вот ошибка, которую браузер выдает каждый раз, когда я npm start запускаю свое приложение.
введите здесь описание изображения

а вот мой bower.json файл:

{
    "name": "myapp",
    "version": "1.3.0",
    "authors": "My example",
    "description": "AngularJs Bootstrap example",
    "keywords": ["AngularJS", "admin", "admin", "dashboard", "admin", "panel", "app", "charts", "components", "flat", "flat", "ui", "responsive", "responsive", "layout", "ui", "kit", "ui", "route", "web", "app", "widgets"],
    "license": "ISC",
    "homepage": "http://example/com",
    "private": true,
    "ignore": ["**/.*", "node_modules", "bower_components", "test", "tests"],
    "dependencies": {

        "jquery": "~2.1.3",
        "fastclick": "~1.0.6",

        "angular": "~1.5.x",
        "angular-animate": "~1.5.x",
        "angular-cookies": "~1.5.x",
        "angular-resource": "~1.5.x",
        "angular-sanitize": "~1.5.x",
        "angular-touch": "~1.5.x",
        "angular-ui-router": "~0.3.x",
        "ngstorage": "~0.3.x",
        "angular-translate": "~2.11.x",
        "angular-translate-loader-url": "~2.11.x",
        "angular-translate-loader-static-files": "~2.11.x",
        "angular-translate-storage-cookie": "~2.11.x",
        "angular-translate-storage-local": "~2.11.x",
        "oclazyload": "~0.6.3",
        "angular-breadcrumb": "~0.4.x",
        "angular-bootstrap": "~1.1.x",
        "angular-loading-bar": "~0.9.x",
        "angular-scroll": "~1.0.x",
        "angular-moment": "~1.0.x",
        "AngularJS-Toaster": "~2.0.x",
        "angular-bootstrap-nav-tree": "*",
        "angular-ladda": "~0.4.x",
        "ng-table": "~0.5.4",
        "angular-ui-select": "~0.11.1",
        "angular-ui-utils": "mask-0.2.2",
        "ngImgCrop": "~0.3.2",
        "angular-file-upload": "~1.1.5",
        "angular-aside": "~1.1.3",
        "angular-truncate": "*",
        "angular-sweetalert-promised": "~1.0.4",
        "angular-elastic": "~2.4.2",
        "ngmap": "~1.4.2",
        "tc-angular-chartjs": "~1.0.9",
        "angular-ui-switch": "~0.1.0",
        "angular-ckeditor": "~0.3.2",
        "angular-bootstrap-calendar": "~0.7.0",
        "angular-xeditable": "~0.1.8",
        "checklist-model": "~0.2.4",
        "ng-nestable": "~0.0.1",
        "ng-flow": "~2.6.0",
        "v-accordion": "~1.2.1",

        "components-modernizr": "~2.8.3",
        "moment": "~2.8.3",
        "perfect-scrollbar": "~0.6.1",
        "ladda": "~0.9.7",
        "sweetalert": "~0.4.2",
        "chartjs": "~1.0.2",
        "jquery.sparkline.build": "~2.1.3",
        "ckeditor": "~4.4.7",
        "jquery-nestable": "v1.0",
        "spin.js": "~2.0.2",
        "bootstrap-touchspin": "~3.0.1",
        "select2": "~4.0.0",
        "select2-bootstrap-css": "~1.4.6",
        "selectize": "~0.12.0",

        "animate.css": "~3.2.0",
        "font-awesome": "~4.2.0",
        "themify-icons": "~0.1.0",
        "bootstrap": "~3.3.7",
        "bootstrap-rtl": "~3.3.1"
    },
    "resolutions": {
        "angular": "~1.5.x"
    }
}


когда я запускаю установку моих зависимостей от Bower, я получаю много предложений выбрать, какую версию пакетов я хочу установить.
Может ли кто-нибудь сказать мне, в чем на самом деле заключается проблема?


person cplus    schedule 03.09.2016    source источник
comment
10 $digest() iterations reached не имеет ничего общего с беседкой; Bower запускается на стороне сервера для генерации кода, который запускается браузером, а ошибка, которую вы перечисляете, является ошибкой, сгенерированной на клиенте.   -  person Claies    schedule 03.09.2016


Ответы (2)


Скорее всего, это связано с кодом вашего приложения и не связано с вашими зависимостями от Bower. Можете ли вы опубликовать свой код?

person Kalpana    schedule 03.09.2016

Похоже, вы страдаете от двух разных проблем.

Во-первых, это ошибка angular, возникающая, когда angular обнаруживает, что его цикл дайджеста превращается в бесконечный цикл (подробнее об этом можно прочитать здесь: https://docs.angularjs.org/error/$rootScope/infdig). Проверьте свой код на наличие проблем, из-за которых наблюдатель может обновлять отслеживаемое значение или некоторые другие изменения круговой области.

Вторая проблема связана с конфликтами Bower с вашими библиотеками. Bower пытается обеспечить плоскую иерархию среди пакетов, которые он клонирует, что желательно в браузере, поскольку это уменьшает размер файла/полезную нагрузку. Но для этого он должен убедиться, что он не устанавливает несколько версий различных пакетов и не знает, какие версии он должен использовать, поэтому для определения требуется ввод данных от пользователя. Скорее всего, у вас есть много пакетов, которые запрашивают конфликтующие версии своих зависимостей. Вы можете использовать интерфейс Bower, чтобы выбрать предпочтительную версию, или сделать это вручную (Как разрешать конфликты версий зависимостей Bower? есть хорошие инструкции по этому поводу).

Еще одна вещь, которую вы можете попробовать с Bower, — использовать определенные номера версий для ваших пакетов. Использование ~ или .x позволяет Bower включать пакеты в соответствии с правилами semver, как описано здесь: Какой синтаксис версии Bower (и npm)?. Это делает конфликты между зависимостями более вероятными. Также необычно использовать и ~, и .x, поскольку они оба выполняют одну и ту же функцию.

person Gabriel    schedule 03.09.2016