私は ui-router と ocLazyLoad の初心者で、おそらくこの質問は簡単に解決できるかもしれませんが、ここに書いているのは、ブログを検索する運がなかったからです。私のアプリは ocLazyLoad で正常に動作しています。
これは、メインのapp.jsクラスの構成です。
angular.module('me', [
'ui.router',
'oc.lazyLoad',
'me.partials.footer',
'me.partials.header'
])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/ini')
$stateProvider
.state('ini', { // Login
url: '/ini',
templateUrl: 'views/ini/ini.html'
})
.state('signin', {
url: '/signin',
templateUrl: 'views/signin/signin.html'
})
.state('home', {
url: '/home',
templateUrl: 'views/home/home.html',
resolve: {
home: function($ocLazyLoad) {
return $ocLazyLoad.load(
{
name: "views.home",
files: [
"views/home/home.js",
]
}
);
}
}
})
.state('home.profile', {
url: '/profile',
templateUrl: 'views/profile/profile.html'
})
.state('home.board', {
url: '/board',
templateUrl: 'views/board/board.html'
});
}]);
今、私は同じクラスにこれ以上状態を置くのをやめたいと思っています。そうしないと、私の app.js は数か月で巨大になります。そこで、ここから「home-module」と呼ばれる別のモジュールにいくつかの状態を削除しました。
home.js
angular
.module('views.home', [{
name: "views.home.controller",
files: ["views/home/home-controller.js"]
}
])
.config(['$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'views/home/home.html',
resolve: {
home: function($ocLazyLoad) {
return $ocLazyLoad.load(
{
name: "views.home",
files: [
"views/home/home.js",
]
}
);
}
}
})
.state('home.profile', {
url: '/profile',
templateUrl: 'views/profile/profile.html'
})
.state('home.board', {
url: '/board',
templateUrl: 'views/board/board.html'
});
}]);
しかし、私はこのエラーが発生しています:ファイルhome.jsCould not resolve 'home.board' from state 'ini'
が以前にロードされていないため、これは完全に理にかなっています。どうすればこれを解決できますか?.
アプリのすべての状態を独自のメイン app.js クラスに書き込むのが唯一の方法ですか?