Webpack Uglify entraîne le routage pour arrêter le travail

Lorsque je gagne un paquet de bloc-notes, le routage cesse de fonctionner sans aucun message d'erreur ou un message de journal. J'utilise oclazyload à la charge paresseuse.

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' ]); 

Voie de base

 require('./app.route.js')(app); 

Lorsque je minimise le bundle, le routage des applications cesse de fonctionner. Sinon, cela fonctionne bien. Veuillez me fournir une solution. J'utilise également ngAnnotate. Les dépendances sont injectées en toute sécurité dans un fichier minifié.

Vous utilisez la dernière version de ui-router, qui a une manière plus récente et légèrement différente de gérer le bloc de resolve . Il faut une carte d'objet.

Essaye ça:

  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; }] } 

Voici la documentation de l'API ui-router pour cela: https://github.com/angular-ui/ui-router/wiki#resolve

En effectuant la minification, vous devriez l'annotation de tableau de DI.

Vous n'utilisez pas de notation angulaire de di array dans votre application.js, vous devez effectuer des modifications ci-dessous.

De

 app.config(routeConfig); 

À

 app.config(['$stateProvider', routeConfig]); 

Pour plus d'informations, reportez vous à cette réponse