Получение Angularjs с Requirejs, работающей с Restrict и загрузчиком Twitter

Я создаю новое приложение angularjs и хочу использовать requirejs для управления своими зависимостями. Я изо всех сил пытаюсь заставить это работать и задаюсь вопросом, просто ли я что-то неправильно понимаю. Я также хочу использовать твиттер-бутстрап и restangular, чтобы совершать спокойные звонки. Попытка настроить это приводит к ошибкам невозможности найти его. Моя основная конфигурация js выглядит следующим образом:

require.config({
paths: {
    angular: '../vendor/angular',    
    twitterbootstrap: '../vendor/bootstrap/ui-bootstrap-tpls-0.6.0',
    restangular: '../vendor/restangular',
    domReady: '../vendor/domReady'
},
shim: {
    angular : {'exports' : 'angular'},
    restangular: {
        deps: ['underscore']
    }
   }
}); 

require([
'angular',
'app',
'domReady',
'twitterbootstrap',
//'underscore',
'restangular',
],
function (angular, app, domReady) {}...

Я получаю ошибки с этим:

угловой не определяется

нет модуля myApp

нет модуля twitterbootstrap

Я пробовал несколько вариантов с этим, но просто не могу заставить его играть вместе. Есть ли что-то еще, что я упускаю - я сравнил это с несколькими примерами, и все, кажется, в порядке.

1 ответ

Решение

Смешивать Angular и Require сложно. У меня есть экспериментальный проект в GitHub ( https://github.com/nikospara/angular-require-lazy), который работает каким-то хакерским способом. Вы можете посмотреть в качестве примера.

Комментарии к этому проекту также приветствуются.


За ваши ошибки:

Откройте сетевую консоль (например, в Firebug) и проверьте пути, вызываемые RequireJS. Верны ли эти пути?

Угловые модули (в отличие от модулей Require/AMD) имеют собственные зависимости. Вы должны убедиться, что файлы.js модулей Angular загружаются после angular. Один из способов сделать это - подправить их, например, для прямоугольной формы это будет что-то вроде:

shim: {
    ...
    restangular: {
        deps: ["underscore", "angular"]
    }
}

В противном случае вы можете загрузить угловой и другие скрипты со стандартным <script> теги, в правильном порядке.

Это общие направления. Если вы не можете найти причину проблем, возможно, вам следует опубликовать еще немного кода; скрипка / планкр также была бы отличной, если это возможно.

Связанный пост в SO: Внедрить модуль динамически, только если требуется

Другие вопросы по тегам