diff --git a/src/loader.js b/src/loader.js index b8d509175fc9..787fcbfa6a77 100644 --- a/src/loader.js +++ b/src/loader.js @@ -17,7 +17,12 @@ function setupModuleLoader(window) { return obj[name] || (obj[name] = factory()); } - return ensure(ensure(window, 'angular', Object), 'module', function() { + var angular = ensure(window, 'angular', Object); + + // We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap + angular.$$minErr = angular.$$minErr || minErr; + + return ensure(angular, 'module', function() { /** @type {Object.} */ var modules = {}; diff --git a/test/loaderSpec.js b/test/loaderSpec.js index 2a564115be7c..816e0a10603c 100644 --- a/test/loaderSpec.js +++ b/test/loaderSpec.js @@ -78,4 +78,8 @@ describe('module loader', function() { window.angular.module('hasOwnProperty', []); }).toThrowMinErr('ng','badname', "hasOwnProperty is not a valid module name"); }); + + it('should expose `$$minErr` on the `angular` object', function() { + expect(window.angular.$$minErr).toEqual(jasmine.any(Function)); + }) });