There are a few things you might consider when running your AngularJS application in production.
By default AngularJS attaches information about scopes to DOM nodes, and adds CSS classes to data-bound elements. The information that is not included is:
As a result of ngBind, ngBindHtml or {{...}} interpolations, binding data and CSS class
ng-class is attached to the corresponding element.
Where the compiler has created a new scope, the scope and either ng-scope or ng-isolated-scope
CSS class are attached to the corresponding element. These scope references can then be accessed via
element.scope() and element.isolateScope().
Tools like Protractor and Batarang need this information to run, but you can disable this in production for a significant performance boost with:
myApp.config(['$compileProvider', function ($compileProvider) {
$compileProvider.debugInfoEnabled(false);
}]);
If you wish to debug an application with this information then you should open up a debug console in the browser then call this method directly in this console:
angular.reloadWithDebugInfo();
The page should reload and the debug information should now be available.
For more see the docs pages on $compileProvider
and angular.reloadWithDebugInfo.