使用 oclazyload 和 webpack 加载 angular 中的资源
Load resources in angular with oclazyload and webpack
我有一个模块化应用程序,它有多个供应商插件,我只需要在每个视图中加载必要的内容。
这是我的路线:
(function() {
'use strict';
angular.module('app.empresas').config(config);
function config($stateProvider, $ocLazyLoadProvider) {
$stateProvider
.state('app.empresas', {
url: '/empresas?Filter',
views: {
'main@': {
template: require('./empresas/empresas.html'),
controller: "AppController as App"
}
},
Params: {
title: 'Empresas',
bodyClass: '',
requiredLogin: true
}
})
.state('app.empresas.view', {
url: '/empresas/:ItemId',
views: {
'main@': {
template: require('./empresas.view/empresas.view.html'),
controller: "AppController as App"
}
},
Params: {
title: 'Empresa',
bodyClass: '',
requiredLogin: true
}
})
}
})();
我知道如何在没有 webpack 的情况下包含 oclazyload 资源,但现在我需要为每个视图包含特定资源。 ¿如何做到这一点?
我用这个片段解决了它:
这是一个状态示例
.state('app.empresas.view', {
url: '/empresas/:ItemId',
views: {
'main@': {
templateUrl: '/app/main/apps/empresas/empresas.view/empresas.view.html',
controller: "AppController as App"
}
},
Params: {
title: 'Empresa',
bodyClass: '',
requiredLogin: true
},
resolve: ['$q', '$ocLazyLoad', function ($q, $ocLazyLoad) {
var deferred = $q.defer();
var mod = importAll(require.context('./empresas.view/', true, /\.*$/));
$ocLazyLoad.load({
name: 'app.empresas.view'
});
deferred.resolve(mod);
return deferred.promise;
}]
})
我将此函数与 require 一起使用,以使用 oclazyload 加载整个文件夹,并使用 webpack 将其编译到一个单独的捆绑文件中:
function importAll (r) {r.keys().forEach(r);}
我可以在一个视图中加载 css、html、js 文件,而不需要一个一个地加载文件
我有一个模块化应用程序,它有多个供应商插件,我只需要在每个视图中加载必要的内容。
这是我的路线:
(function() {
'use strict';
angular.module('app.empresas').config(config);
function config($stateProvider, $ocLazyLoadProvider) {
$stateProvider
.state('app.empresas', {
url: '/empresas?Filter',
views: {
'main@': {
template: require('./empresas/empresas.html'),
controller: "AppController as App"
}
},
Params: {
title: 'Empresas',
bodyClass: '',
requiredLogin: true
}
})
.state('app.empresas.view', {
url: '/empresas/:ItemId',
views: {
'main@': {
template: require('./empresas.view/empresas.view.html'),
controller: "AppController as App"
}
},
Params: {
title: 'Empresa',
bodyClass: '',
requiredLogin: true
}
})
}
})();
我知道如何在没有 webpack 的情况下包含 oclazyload 资源,但现在我需要为每个视图包含特定资源。 ¿如何做到这一点?
我用这个片段解决了它:
这是一个状态示例
.state('app.empresas.view', {
url: '/empresas/:ItemId',
views: {
'main@': {
templateUrl: '/app/main/apps/empresas/empresas.view/empresas.view.html',
controller: "AppController as App"
}
},
Params: {
title: 'Empresa',
bodyClass: '',
requiredLogin: true
},
resolve: ['$q', '$ocLazyLoad', function ($q, $ocLazyLoad) {
var deferred = $q.defer();
var mod = importAll(require.context('./empresas.view/', true, /\.*$/));
$ocLazyLoad.load({
name: 'app.empresas.view'
});
deferred.resolve(mod);
return deferred.promise;
}]
})
我将此函数与 require 一起使用,以使用 oclazyload 加载整个文件夹,并使用 webpack 将其编译到一个单独的捆绑文件中:
function importAll (r) {r.keys().forEach(r);}
我可以在一个视图中加载 css、html、js 文件,而不需要一个一个地加载文件