使用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