使用gulp缩小angularjs文件后获取未知提供程序:t错误?

使用gulp缩小angularjs文件后获取未知提供程序:t错误?,angularjs,gulp,Angularjs,Gulp,我得到了这个错误 main-d2a9731a79.js:2 Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to: Error: [$injector:unpr] Unknown provider: t 下面是我在angularjs中的代码。它在缩小之前就起作用了。一旦缩小,它开始给出上述错误 app.config(function ($routeProvider) { $route

我得到了这个错误

main-d2a9731a79.js:2 Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:unpr] Unknown provider: t
下面是我在
angularjs
中的代码。它在缩小之前就起作用了。一旦缩小,它开始给出上述错误

app.config(function ($routeProvider) {
    $routeProvider
    // route for the home page
    .when('/', {
        templateUrl: site_url + '/inbox/',
        controller: 'inboxController'
    });
});
app.controller('inboxController',['$scope', '$http', function ($scope, $http) {
    console.log('tesing');
}]);

问题是当
app.config(函数($routeProvider){…})时缩小到类似于
app.config(函数(t){…})Angular的依赖项注入机制无法正确识别依赖项。这就是它抛出
未知提供程序:t
错误的原因


您应该始终使用缩微安全语法来避免此类错误。一种方法是:
app.config(['$routeProvider',function($routeProvider){…}])。您可以在这里阅读更多信息:。

问题是当
app.config(function($routeProvider){…})时缩小到类似于
app.config(函数(t){…})Angular的依赖项注入机制无法正确识别依赖项。这就是它抛出
未知提供程序:t
错误的原因


您应该始终使用缩微安全语法来避免此类错误。一种方法是:
app.config(['$routeProvider',function($routeProvider){…}])。您可以在此处阅读更多信息:。

当您缩小代码时,变量和参数将被重命名为尽可能少的字符-这是文件大小能够大大减小的方法之一。但是,如果使用简单的语法,它会有破坏Angular的依赖注入的副作用,因为它不再能够读取参数名称来确定注入什么

您可以选择使用数组语法进行注入,就像您在控制器中所做的那样:

app.config(['$routeProvider', function ($routeProvider) {
          $routeProvider
            // route for the home page
            .when('/', {
                templateUrl: site_url + '/inbox/',
                controller: 'inboxController'
            });
}]);
app.controller('inboxController',['$scope', '$http', function ($scope, $http) {
          console.log('tesing');
}]);
或者,您可以在构建过程中使用这样的工具,它将把简单的语法转换为能够自动进行缩小的语法。我个人建议使用后一种方法,因为我发现数组语法的可读性和维护性要差得多


在。

中有更多关于此主题的信息。当您缩小代码时,变量和参数将被重命名为尽可能少的字符-这是文件大小能够大大减小的方法之一。但是,如果使用简单的语法,它会有破坏Angular的依赖注入的副作用,因为它不再能够读取参数名称来确定注入什么

您可以选择使用数组语法进行注入,就像您在控制器中所做的那样:

app.config(['$routeProvider', function ($routeProvider) {
          $routeProvider
            // route for the home page
            .when('/', {
                templateUrl: site_url + '/inbox/',
                controller: 'inboxController'
            });
}]);
app.controller('inboxController',['$scope', '$http', function ($scope, $http) {
          console.log('tesing');
}]);
或者,您可以在构建过程中使用这样的工具,它将把简单的语法转换为能够自动进行缩小的语法。我个人建议使用后一种方法,因为我发现数组语法的可读性和维护性要差得多


有关此主题的更多信息,请参见。

确保您在主模块中也使用了ngRoute,并且不会更改缩小字符串

将应用程序中的ngRoute用作依赖项

 var app = angular.module('app',['ngRoute']);
配置:

app.config(appConfig);

  //inject dependencies for your config constructor function
   appConfig.$inject = ["$routeProvider"];

  //constructor:appConfig
  function appConfig($routeProvider){

   }
您还可以使用数组版本来注入依赖项

 app.config(['$routeProvider', function ($routeProvider) { 

确保在主模块中也使用了ngRoute,在缩小字符串时不会更改

将应用程序中的ngRoute用作依赖项

 var app = angular.module('app',['ngRoute']);
配置:

app.config(appConfig);

  //inject dependencies for your config constructor function
   appConfig.$inject = ["$routeProvider"];

  //constructor:appConfig
  function appConfig($routeProvider){

   }
您还可以使用数组版本来注入依赖项

 app.config(['$routeProvider', function ($routeProvider) { 
可能重复的Javascript错误未知提供程序:tProvider可能重复的Javascript错误未知提供程序:tProvider