Just set resolve rule with require.ensure statement and then use angularOcLazyLoad to init module
resolve: { modulePreloading: function($q, $ocLazyLoad) { "ngInject"; var deferred = $q.defer(); require.ensure([], function (require) { var asyncModule = require('./async.module'); $ocLazyLoad.load({ name: asyncModule.default.name, }); deferred.resolve(asyncModule.default.controller); }); return deferred.promise; } }