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 打包到一个 home.js 文件中

4

0 回答 0