Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

docs(guide/Running in Production): ng-strict-di #9908

Closed
wants to merge 5 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions docs/content/guide/production.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,35 @@ The page should reload and the debug information should now be available.

For more see the docs pages on {@link ng.$compileProvider#debugInfoEnabled `$compileProvider`}
and {@link angular.reloadWithDebugInfo `angular.reloadWithDebugInfo`}.

## Strict DI Mode

Using strict di mode in your production application will throw errors when a injectable
function is not
{@link di#dependency-annotation annotated explicitly}. Strict di mode is intended to help
you make sure that your code will work when minified. However, it also will force you to
make sure that your injectable functions are explicitly annotated which will improve
angular's performance when injecting dependencies in your injectable functions because it
doesn't have to dynamically discover a function's dependencies. It is recommended to
automate the explicit annotation via a tool like
[ng-annotate](https://github.com/olov/ng-annotate) when you deploy to production (and enable
strict di mode)

To enable strict di mode, you have two options:

```html
<div ng-app="myApp" ng-strict-di>
<!-- your app here -->
</div>
```

or

```js
angular.bootstrap(document, ['myApp'], {
strictDi: true
});
```

For more information, see the
{@link di#using-strict-dependency-injection DI Guide}.