2017-08-28 22 views
0

我們使用Requirejs作爲我們的Angular應用程序的模塊加載程序,並嘗試將gulp用作構建工具。 縮小了所有應用程序文件(因爲是相同的文件夾結構),並用於發佈。同時使用縮小版本獲取錯誤 Unknown provider: e。從app.js文件引導應用程序時引發該錯誤。 (...表示有更多類似)Gulp使用requirejs來縮小角度應用程序文件的問題

define(['angularAMD', 'jquery', 'angular-ui-router', 'modelBuilderApp', ... ], function (angularAMD, $) { 
    'use strict'; 
    var app = angular.module('app', ['ui.router', 
     'modelBuilderApp',....]); 
    ... DO configure app ... 
    angularAMD.bootstrap(app); //ERROR HERE  
    return app; 
}); 

原始版本

define(['angularAMD', 'angular-ui-router', 'routeResolver', 'RestService', 'AuthModule', 'smarttable', 'ngScrollable'], 
    function (angularAMD) { 
     'use strict'; 
     var app = angular.module('modelBuilderApp', ['ui.router', 'ngScrollable']); 
     app.config(function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) { 
      var route = routeResolverProvider.route; 

      $stateProvider 
       .state('model', angularAMD.route({... 

縮小的版本

define(["angularAMD", "angular-ui-router", "routeResolver", "RestService", "AuthModule", "smarttable", "ngScrollable"], 
function (angularAMD) { 
    "use strict"; 
    var e = angular.module("modelBuilderApp", ["ui.router", "ngScrollable"]); 
    return e.config(function (e, l, r, t) { //ERROR HERE 
     var o = t.route; 
     l.state("model", angularAMD.route({.... 

我錯過任何,這是縮小文件的正確程序requirejs文件? 我是否需要查看其他優化技術?

回答

4

問題不在縮小。您需要在角應用使用dependency injection

app.config(['$locationProvider', '$stateProvider', '$urlRouterProvider', 'routeResolverProvider', function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) { 
    //Your code 
}]); 

然而,爲了更快的發展,您可以使用gulp-ng-annotate

+0

一飲而盡-NG-註釋肯定幫了我很多感謝的建議。 – NikhilGoud

相關問題