Webpack Uglify 导致路由停止工作
Webpack Uglify causes routing to stop work
当我 uglify webpack bundle 时,路由停止工作,没有任何错误消息或日志消息。我正在使用 oclazyload 进行延迟加载。
Route.js
module.exports = function(app) {
var routeConfig = function($stateProvider) {
$stateProvider
.state('home', {
url: '/',
templateUrl: 'app/dashboard/dashboard.min.html',
title: 'Home',
ncyBreadcrumb: {
label: 'Home'
}
})
.state('organizationStructure', {
url: '/organizationStructure',
templateUrl: 'app/admin/organizationStructure/manageHierarchy/manageHierarchyShell.min.html',
'abstract': true,
ncyBreadcrumb: {
skip: true
},
resolve: ['$q', '$ocLazyLoad', function($q, $ocLazyLoad) {
var deferred = $q.defer();
require.ensure([], function() {
var mod = require('./organizationStructure.module.js');
$ocLazyLoad.load({
name: 'app.organizationStructure'
});
deferred.resolve(mod.controller);
});
return deferred.promise;
}]
})
.state('organizationStructure.organization', {
url: '/organization',
templateUrl: 'app/admin/organizationStructure/manageHierarchy/organization/index.min.html',
controller: 'ManageOrganization',
controllerAs: 'vm',
title: 'Manage Organization',
ncyBreadcrumb: {
label: 'Manage Organization',
parent: 'home'
}
});
}
app.config(routeConfig);
return routeConfig;
};
Module.js
var app = angular.module('app', [
'ui.router',
'restangular',
'ui.bootstrap',
'ncy-angular-breadcrumb',
'oc.lazyLoad'
]);
基本路线
require('./app.route.js')(app);
当我缩小包时,应用程序路由停止工作。否则它工作正常。请给我一个解决方案。我也在使用 ngAnnotate。依赖项被安全地注入到缩小文件中。
While doing minification you should for array annotation of DI.
您没有在 app.js 中使用 angular di 数组表示法,您需要进行以下更改。
来自
app.config(routeConfig);
到
app.config(['$stateProvider', routeConfig]);
有关详细信息,请参阅
您使用的是最新版本的 ui-router,它具有更新且略有不同的处理 resolve
块的方式。它需要一个对象映射。
试试这个:
resolve: {
foo: ['$q', '$ocLazyLoad', function($q, $ocLazyLoad) {
var deferred = $q.defer();
require.ensure([], function() {
var mod = require('./organizationStructure.module.js');
$ocLazyLoad.load({
name: 'app.organizationStructure'
});
deferred.resolve(mod.controller);
});
return deferred.promise;
}]
}
这是 ui-router API 文档:https://github.com/angular-ui/ui-router/wiki#resolve
当我 uglify webpack bundle 时,路由停止工作,没有任何错误消息或日志消息。我正在使用 oclazyload 进行延迟加载。
Route.js
module.exports = function(app) {
var routeConfig = function($stateProvider) {
$stateProvider
.state('home', {
url: '/',
templateUrl: 'app/dashboard/dashboard.min.html',
title: 'Home',
ncyBreadcrumb: {
label: 'Home'
}
})
.state('organizationStructure', {
url: '/organizationStructure',
templateUrl: 'app/admin/organizationStructure/manageHierarchy/manageHierarchyShell.min.html',
'abstract': true,
ncyBreadcrumb: {
skip: true
},
resolve: ['$q', '$ocLazyLoad', function($q, $ocLazyLoad) {
var deferred = $q.defer();
require.ensure([], function() {
var mod = require('./organizationStructure.module.js');
$ocLazyLoad.load({
name: 'app.organizationStructure'
});
deferred.resolve(mod.controller);
});
return deferred.promise;
}]
})
.state('organizationStructure.organization', {
url: '/organization',
templateUrl: 'app/admin/organizationStructure/manageHierarchy/organization/index.min.html',
controller: 'ManageOrganization',
controllerAs: 'vm',
title: 'Manage Organization',
ncyBreadcrumb: {
label: 'Manage Organization',
parent: 'home'
}
});
}
app.config(routeConfig);
return routeConfig;
};
Module.js
var app = angular.module('app', [
'ui.router',
'restangular',
'ui.bootstrap',
'ncy-angular-breadcrumb',
'oc.lazyLoad'
]);
基本路线
require('./app.route.js')(app);
当我缩小包时,应用程序路由停止工作。否则它工作正常。请给我一个解决方案。我也在使用 ngAnnotate。依赖项被安全地注入到缩小文件中。
While doing minification you should for array annotation of DI.
您没有在 app.js 中使用 angular di 数组表示法,您需要进行以下更改。
来自
app.config(routeConfig);
到
app.config(['$stateProvider', routeConfig]);
有关详细信息,请参阅
您使用的是最新版本的 ui-router,它具有更新且略有不同的处理 resolve
块的方式。它需要一个对象映射。
试试这个:
resolve: {
foo: ['$q', '$ocLazyLoad', function($q, $ocLazyLoad) {
var deferred = $q.defer();
require.ensure([], function() {
var mod = require('./organizationStructure.module.js');
$ocLazyLoad.load({
name: 'app.organizationStructure'
});
deferred.resolve(mod.controller);
});
return deferred.promise;
}]
}
这是 ui-router API 文档:https://github.com/angular-ui/ui-router/wiki#resolve