我的目录结构是每个模块(页面):
/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 文件中