Как установить директиву Angular в meanJS

Я пытался установить директиву Angular в структуру папок meanJS. Но я получаю сообщение об ошибке при попытке добавить директиву в свой контроллер.

Ошибка: [$injector:unpr] Неизвестный провайдер: duScrollProvider ‹- duScroll ‹- HomeController http://errors.angularjs.org/1.3.20/$injector/unpr?p0=duScrollProvider%20%3C-NaNuScroll%20%3C-%20HomeController по адресу http://localhost:3000/lib/angular/angular.js:63:12 по адресу http://localhost:3000/lib/angular/angular.js:4031:19 в Object.getService [как получить ] (http://localhost:3000/lib/angular/angular.js:4178:39) по адресу http://localhost:3000/lib/angular/angular.js:4036:45 в getService (http://localhost:3000/lib/angular/angular.js:4178:39) в Object.invoke (http://localhost:3000/lib/angular/angular.js:4210:13) в файле extend.instance (http://localhost:3000/lib/angular/angular.js:8516).:21) по адресу http://localhost:3000/lib/angular./angular.js:7762:13 в forEach (http://localhost:3000/lib/angular/angular.js:334:20) в nodeLinkFn (< a href="http://localhost:3000/lib/angular/angular.js:7761:11" rel="nofollow">http://localhost:3000/lib/angular/angular.js:7761:11< /а>)

Я пытаюсь установить директиву: https://github.com/oblador/angular-scroll

у меня версия 0.4.2

Однако я также пробовал другие директивы «прокрутки», но получаю ту же ошибку.

Я пытаюсь добавить его в свой home.client.controller.js так:

angular.module('core').controller('HomeController', ['$scope', 'Authentication', 'duScroll', function ($scope, Authentication, duScroll) {

Я также попытался добавить его в конец ядра.

angular.module('core', ['duScroll']).controller('HomeController', ['$scope', 'Authentication', function ($scope, Authentication) {

Что касается ответа ниже, я тоже пробовал это.

Я добавил 'public/lib/angular-scroll/angular-scroll.js' в файл default.js, расположенный в config/assets/default.js.

И я также добавил duScroll в config.js, расположенный в: modules/core/client/app/config.js.

var applicationModuleVendorDependencies = ['ngResource', 'ngAnimate', 'ngMessages', 'ui.router', 'ui.bootstrap', 'ui.utils', 'angularFileUpload', 'duScroll'];

Однако я все еще получаю ту же ошибку.

Во всей документации сказано, что для установки этих директив я должен использовать установку Bower или установку npm. Но поскольку это модульная структура папок, я понятия не имею, как заставить ее распознавать директиву. Я пытался включить его во всех местах, которые, как я мог подумать, могут сработать.

Будем очень признательны за любую помощь в выяснении того, как установить директиву в структуру папок meanjs!

Спасибо


person MLyck    schedule 03.02.2016    source источник


Ответы (1)


Я дал ответ на аналогичный вопрос здесь.

Если вы используете версию 0.3.3, вам необходимо обновить файл config/env/all.js, в котором вы указываете путь к вашему файлу зависимостей, и, если это сторонний модуль angular, вы также должны внедрить его в свой основной угловой модуль, который можно сделать в файле public/config.js.

Если вы используете версию 0.4.2, вам необходимо обновить файл config/assets/default.js, в котором вы указываете путь к файлу зависимостей, а в случае, если это сторонний модуль angular, вы также должны внедрить его в свой основной угловой модуль, который можно сделать в файле modules/core/client/app/config.js.

person pgrodrigues    schedule 03.02.2016
comment
Я пробовал делать и то, и другое. У меня версия 0.4.2, но я все еще получаю ту же ошибку. Есть идеи? (Я отредактировал свой исходный пост с попытками) Я сделал это неправильно? - person MLyck; 04.02.2016
comment
Вставьте его только в applicationModuleVendorDependencies, который находится в modules/core/client/app/config.js, удалите его из HomeController и из определения основного модуля. Потому что в HomeController вам нужно только использовать $document и получить доступ к методам, которые предоставляет angular-scroll. - person pgrodrigues; 05.02.2016