私のディレクトリ構造はモジュール(ページ)ごとです:
/app
app.js
/states
/home
home.module.js
home.less
home.controller.js
home.html
これは私のhome.module.js
//import {HomeController} from "./home.controller";
function homeConfig ($stateProvider) {
$stateProvider
.state('home', {
url: '/home',
templateProvider: ($q) => {
return $q((resolve) => {
require.ensure([], () => resolve(require('./home.html')), 'home');
});
},
controller: 'HomeController as Home',
resolve: {
load: ($q, $ocLazyLoad) => {
return $q((resolve) => {
require.ensure(['./home.html'], () => {
let ctrl = require('./home.controller');
$ocLazyLoad.load(ctrl);
resolve(ctrl);
}, 'home');
});
}
}
})
}
export default angular.module('home', [])
.config(homeConfig)
//.controller('HomeController', HomeController)
oclazyLoad を適切に使用し、ホーム コントローラーをロードして登録するにはどうすればよいですか? ポイントは、モジュールがプリロードされていることですが、コンテンツ (html、コントローラー、less) は、ユーザーがホーム状態に入ったときにのみ遅延ロードされます。すべてを webpack によって 1 つの home.js ファイルにバンドルする必要があります