Я пытаюсь использовать require.js для ленивой загрузки некоторых из моих зависимостей в угловом режиме, и у меня есть несколько проблем.Использование Угловой ui-routing разрешает загружать модули requirejs
Я считаю, что следующий код должен пытаться загрузить контроллер регистра перед угловым neeeds него (с помощью углового-UI-маршрутизатор):
.state('register', {
url: '/register',
class: 'login',
title: 'Register',
templateUrl: 'app/security/register.view.html',
controller: 'RegisterController',
controllerAs: 'register',
resolve: {
require: function ($q) {
return $q(function (resolve, reject) {
console.log('security/register.controller loading')
require(['security/register.controller'], function() {
console.log('security/register.controller loaded')
resolve()
})
})
}
}
})
Но при переходе от состояния входа в состояние регистра, я получить следующий вывод в консоли:
RouteChanged Login
security/register.controller loading
security/register.controller loaded
RouteChanged Register
Error: [ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?p0=RegisterController&p1=not%20aNaNunction%2C%20got%20undefined
Так что даже если прогоны решимости, угловатый выдает ошибку о том, что не может найти RegisterController.
Here's a link to a plunker. Как вы можете видеть, контроллеры не загружаются при нажатии на ссылки, и сообщение об ошибке отображается в консоли.
Я обнаружил, что после того, как я отправил свой ответ, он выглядит очень полезным. Я проверю это, спасибо :) –
После изучения ocLazyLoad кажется, что он не обрабатывает зависимости, поэтому мне нужно вернуться к указанию всех имен файлов вручную. Это правда? –
Как так? Потому что в этом примере все эти скрипты являются зависимыми для работы модуля. –