2

私のディレクトリ構造はモジュール(ページ)ごとです:

/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 ファイルにバンドルする必要があります

4

0 に答える 0