Angular:使用gulp将Angular js文件合并为单个js文件后出现错误



我使用gulp-concat将所有angular js文件合并为一个,但在运行gulp task后,我在chrome控制台运行应用程序时得到此错误:

angular.js:13708Error: [ng:areq] http://errors.angularjs.org/1.5.7/ng/areq?p0=userboxController&p1=not%20a%20function%2C%20got%20undefined

my gulp task:

gulp.task('scripts', function () {
  return gulp.src(['js/app/*.js', 'components/*/*/*.js'])  
    .pipe(concat('appscript.js'))
    .pipe(minify()) 
    .pipe(gulp.dest('./dist/js/'));
});

gulp-concat将专用的angular js文件合并到appscript.js中,如

angular.module('app',[]);     

angular
    .module("app", [])
    .controller("paymentCtrl", ['$scope', '$http', function ($scope, $http) {
        $http.get('data/payments.json').then(function (payments) {
            $scope.payments = payments.data;
        });
        $scope.saveEntity = function () {
            console.info("goog");
        }
    }]); 
angular
    .module("app",[])
    .controller("userboxController", ['$scope', '$http',function ($scope, $http, usersService) {
        usersService.getCurrentUser().then(function (user) {
            $scope.user = user.data;
        });
    }]);

angular
    .module("app",[])
    .controller("usersController",['$scope', '$http','usersService', function ($scope, $http, usersService) {
        usersService.getAll().then(function (users) {
            $scope.users = users.data;
        });
    }]); 

angular
    .module("app", [])
    .directive('usersGrid', function () {
        return {
             templateUrl : 'components/users/template/grid.html'
        }
    }); 

angular有什么问题?!!

这不是一个与合并相关的问题。

每次使用

创建应用模块
angular.module('app', [])

你必须初始化模块只有一个地方,你将使用相同的模块每次用~[]括号。

请在这里找到活塞

var myApp = angular.module('app');
myApp.controller("paymentCtrl", ['$scope', '$http', function($scope, $http) {
  $http.get('data/payments.json').then(function(payments) {
    $scope.payments = payments.data;
  });
  $scope.saveEntity = function() {
    console.info("goog");
  }
}]);
myApp.controller("userboxController", ['$scope', '$http',       function($scope, $http, usersService) {
  $scope.user = 'abc';
}]);

myApp.controller("usersController", ['$scope', '$http', 'usersService', function($scope, $http, usersService) {
  usersService.getAll().then(function(users) {
    $scope.users = users.data;
  });
}]);

myApp.directive('usersGrid', function() {
  return {
    templateUrl: 'components/users/template/grid.html'
  }
});

相关内容

  • 没有找到相关文章

最新更新