diff --git a/aio/content/guide/bootstrapping.md b/aio/content/guide/bootstrapping.md
index a870d03121..d4b24442ae 100644
--- a/aio/content/guide/bootstrapping.md
+++ b/aio/content/guide/bootstrapping.md
@@ -114,7 +114,7 @@ And in the same file, add it to the `@NgModule` `declarations` array:
Now you could use your `ItemDirective` in a component. This example uses `AppModule`, but you'd do it the same way for a feature module. For more about directives, see [Attribute Directives](guide/attribute-directives) and [Structural Directives](guide/structural-directives). You'd also use the same technique for [pipes](guide/pipes) and components.
-Remember, components, directives, and pipes belong to one module only. You only need to declare them once in your app because you share them by importing the necessary modules. This saves you time and helps keep your app lean.
+Remember, components, directives, and pipes belong to one module only. You only need to declare them once in your application because you share them by importing the necessary modules. This saves you time and helps keep your application lean.
{@a imports}
@@ -143,7 +143,7 @@ the class was imported from another module.
## The `providers` array
-The providers array is where you list the services the app needs. When
+The providers array is where you list the services the application needs. When
you list services here, they are available app-wide. You can scope
them when using feature modules and lazy loading. For more information, see
[Providers](guide/providers).
@@ -169,5 +169,5 @@ root module's `bootstrap` array.
## More about Angular Modules
-For more on NgModules you're likely to see frequently in apps,
+For more on NgModules you're likely to see frequently in applications,
see [Frequently Used Modules](guide/frequent-ngmodules).
diff --git a/aio/content/guide/entry-components.md b/aio/content/guide/entry-components.md
index ad685ebb85..14ac7aba1c 100644
--- a/aio/content/guide/entry-components.md
+++ b/aio/content/guide/entry-components.md
@@ -89,12 +89,12 @@ All router components must be entry components. Because this would require you t
Though the `@NgModule` decorator has an `entryComponents` array, most of the time
-you won't have to explicitly set any entry components because Angular adds components listed in `@NgModule.bootstrap` and those in route definitions to entry components automatically. Though these two mechanisms account for most entry components, if your app happens to bootstrap or dynamically load a component by type imperatively,
+you won't have to explicitly set any entry components because Angular adds components listed in `@NgModule.bootstrap` and those in route definitions to entry components automatically. Though these two mechanisms account for most entry components, if your application happens to bootstrap or dynamically load a component by type imperatively,
you must add it to `entryComponents` explicitly.
### `entryComponents` and the compiler
-For production apps you want to load the smallest code possible.
+For production applications you want to load the smallest code possible.
The code should contain only the classes that you actually need and
exclude components that are never used. For this reason, the Angular compiler only generates code for components which are reachable from the `entryComponents`; This means that adding more references to `@NgModule.declarations` does not imply that they will necessarily be included in the final bundle.
diff --git a/aio/content/guide/feature-modules.md b/aio/content/guide/feature-modules.md
index 0abc04166b..81fe60908e 100644
--- a/aio/content/guide/feature-modules.md
+++ b/aio/content/guide/feature-modules.md
@@ -2,16 +2,16 @@
Feature modules are NgModules for the purpose of organizing code.
-For the final sample app with a feature module that this page describes,
+For the final sample application with a feature module that this page describes,
see the .
-As your app grows, you can organize code relevant for a specific feature.
+As your application grows, you can organize code relevant for a specific feature.
This helps apply clear boundaries for features. With feature modules,
you can keep code related to a specific functionality or feature
separate from other code. Delineating areas of your
-app helps with collaboration between developers and teams, separating
+application helps with collaboration between developers and teams, separating
directives, and managing the size of the root module.
@@ -20,14 +20,14 @@ directives, and managing the size of the root module.
A feature module is an organizational best practice, as opposed to a concept of the core Angular API. A feature module delivers a cohesive set of functionality focused on a
specific application need such as a user workflow, routing, or forms.
While you can do everything within the root module, feature modules
-help you partition the app into focused areas. A feature module
+help you partition the application into focused areas. A feature module
collaborates with the root module and with other modules through
the services it provides and the components, directives, and
pipes that it shares.
## How to make a feature module
-Assuming you already have an app that you created with the [Angular CLI](cli), create a feature
+Assuming you already have an application that you created with the [Angular CLI](cli), create a feature
module using the CLI by entering the following command in the
root project directory. Replace `CustomerDashboard` with the
name of your module. You can omit the "Module" suffix from the name because the CLI appends it:
@@ -53,7 +53,7 @@ import { CommonModule } from '@angular/common';
export class CustomerDashboardModule { }
```
-The structure of an NgModule is the same whether it is a root module or a feature module. In the CLI generated feature module, there are two JavaScript import statements at the top of the file: the first imports `NgModule`, which, like the root module, lets you use the `@NgModule` decorator; the second imports `CommonModule`, which contributes many common directives such as `ngIf` and `ngFor`. Feature modules import `CommonModule` instead of `BrowserModule`, which is only imported once in the root module. `CommonModule` only contains information for common directives such as `ngIf` and `ngFor` which are needed in most templates, whereas `BrowserModule` configures the Angular app for the browser which needs to be done only once.
+The structure of an NgModule is the same whether it is a root module or a feature module. In the CLI generated feature module, there are two JavaScript import statements at the top of the file: the first imports `NgModule`, which, like the root module, lets you use the `@NgModule` decorator; the second imports `CommonModule`, which contributes many common directives such as `ngIf` and `ngFor`. Feature modules import `CommonModule` instead of `BrowserModule`, which is only imported once in the root module. `CommonModule` only contains information for common directives such as `ngIf` and `ngFor` which are needed in most templates, whereas `BrowserModule` configures the Angular application for the browser which needs to be done only once.
The `declarations` array is available for you to add declarables, which
are components, directives, and pipes that belong exclusively to this particular module. To add a component, enter the following command at the command line where `customer-dashboard` is the directory where the CLI generated the feature module and `CustomerDashboard` is the name of the component:
diff --git a/aio/content/guide/frequent-ngmodules.md b/aio/content/guide/frequent-ngmodules.md
index c1e53ed4a7..6b19bcbd7d 100644
--- a/aio/content/guide/frequent-ngmodules.md
+++ b/aio/content/guide/frequent-ngmodules.md
@@ -1,6 +1,6 @@
# Frequently-used modules
-An Angular app needs at least one module that serves as the root module.
+An Angular application needs at least one module that serves as the root module.
As you add features to your app, you can add them in modules.
The following are frequently used Angular modules with examples
of some of the things they contain:
@@ -25,7 +25,7 @@ of some of the things they contain:
BrowserModule |
@angular/platform-browser |
- When you want to run your app in a browser |
+ When you want to run your application in a browser |
@@ -64,7 +64,7 @@ of some of the things they contain:
When you use these Angular modules, import them in `AppModule`,
or your feature module as appropriate, and list them in the `@NgModule`
-`imports` array. For example, in the basic app generated by the [Angular CLI](cli),
+`imports` array. For example, in the basic application generated by the [Angular CLI](cli),
`BrowserModule` is the first import at the top of the `AppModule`,
`app.module.ts`.
@@ -101,10 +101,10 @@ directives such as `ngIf` and `ngFor`. Additionally, `BrowserModule`
re-exports `CommonModule` making all of its directives available
to any module that imports `BrowserModule`.
-For apps that run in the browser, import `BrowserModule` in the
+For applications that run in the browser, import `BrowserModule` in the
root `AppModule` because it provides services that are essential
-to launch and run a browser app. `BrowserModule`’s providers
-are for the whole app so it should only be in the root module,
+to launch and run a browser application. `BrowserModule`’s providers
+are for the whole application so it should only be in the root module,
not in feature modules. Feature modules only need the common
directives in `CommonModule`; they don’t need to re-install app-wide providers.
diff --git a/aio/content/guide/module-types.md b/aio/content/guide/module-types.md
index cd5aae56e9..16a0151b1b 100644
--- a/aio/content/guide/module-types.md
+++ b/aio/content/guide/module-types.md
@@ -4,7 +4,7 @@ This topic provides a conceptual overview of the different categories of [NgModu
These categories are not cast in stone—they are suggestions.
You may want to create NgModules for other purposes, or combine the characteristics of some of these categories.
-NgModules are a great way to organize an app and keep code related to a specific functionality or feature separate from other code.
+NgModules are a great way to organize an application and keep code related to a specific functionality or feature separate from other code.
Use NgModules to consolidate [components](guide/glossary#component "Definition of component"), [directives](guide/glossary#directive "Definition of directive"), and [pipes](guide/glossary#pipe "Definition of pipe)") into cohesive blocks of functionality.
Focus each block on a feature or business domain, a workflow or navigation flow, a common collection of utilities, or one or more [providers](guide/glossary#provider "Definition of provider") for [services](guide/glossary#service "Definition of service").
@@ -12,14 +12,14 @@ For more about NgModules, see [Organizing your app with NgModules](guide/ngmodul
-For the example app used in NgModules-related topics, see the .
+For the example application used in NgModules-related topics, see the .
## Summary of NgModule categories
-All apps start by [bootstrapping a root NgModule](guide/bootstrapping "Launching an app with a root NgModule").
-You can organize your other NgModules any way you wish.
+All applications start by [bootstrapping a root NgModule](guide/bootstrapping "Launching an app with a root NgModule").
+You can organize your other NgModules any way you want.
This topic provides some guidelines for the following general categories of NgModules:
@@ -108,14 +108,14 @@ The following table summarizes the key characteristics of each category.
## Domain NgModules
-Use a domain NgModule to deliver a user experience dedicated to a particular feature or app domain, such as editing a customer or placing an order.
+Use a domain NgModule to deliver a user experience dedicated to a particular feature or application domain, such as editing a customer or placing an order.
One example is `ContactModule` in the .
A domain NgModule organizes the code related to a certain function, containing all of the components, routing, and templates that make up the function.
Your top component in the domain NgModule acts as the feature or domain's root, and is the only component you export.
Private supporting subcomponents descend from it.
-Import a domain NgModule exactly once into another NgModule, such as a domain NgModule, or into the root NgModule (`AppModule`) of an app that contains only a few NgModules.
+Import a domain NgModule exactly once into another NgModule, such as a domain NgModule, or into the root NgModule (`AppModule`) of an application that contains only a few NgModules.
Domain NgModules consist mostly of declarations.
You rarely include providers.
@@ -204,7 +204,7 @@ It would rarely have providers.
## Shared NgModules
-Put commonly used directives, pipes, and components into one NgModule, typically named `SharedModule`, and then import just that NgModule wherever you need it in other parts of your app.
+Put commonly used directives, pipes, and components into one NgModule, typically named `SharedModule`, and then import just that NgModule wherever you need it in other parts of your application.
You can import the shared NgModule in your domain NgModules, including [lazy-loaded NgModules](guide/lazy-loading-ngmodules "Lazy-loading an NgModule").
One example is `SharedModule` in the , which provides the `AwesomePipe` custom pipe and `HighlightDirective` directive.
@@ -223,6 +223,6 @@ You may also be interested in the following:
If you want to manage NgModule loading and the use of dependencies and services, see the following:
-* To learn about loading NgModules eagerly when the app starts, or lazy-loading NgModules asynchronously by the router, see [Lazy-loading feature modules](guide/lazy-loading-ngmodules).
+* To learn about loading NgModules eagerly when the application starts, or lazy-loading NgModules asynchronously by the router, see [Lazy-loading feature modules](guide/lazy-loading-ngmodules).
* To understand how to provide a service or other dependency for your app, see [Providing Dependencies for an NgModule](guide/providers "Providing Dependencies for an NgModule").
* To learn how to create a singleton service to use in NgModules, see [Making a service a singleton](guide/singleton-services "Making a service a singleton").
diff --git a/aio/content/guide/ngmodule-api.md b/aio/content/guide/ngmodule-api.md
index ea10fa04db..35905d89ef 100644
--- a/aio/content/guide/ngmodule-api.md
+++ b/aio/content/guide/ngmodule-api.md
@@ -1,13 +1,13 @@
# NgModule API
-At a high level, NgModules are a way to organize Angular apps
+At a high level, NgModules are a way to organize Angular applications
and they accomplish this through the metadata in the `@NgModule`
decorator.
The metadata falls into three categories:
-* **Static:** Compiler configuration which tells the compiler about directive selectors and where in templates the directives should be applied through selector matching. This is configured via the `declarations` array.
-* **Runtime:** Injector configuration via the `providers` array.
-* **Composability/Grouping:** Bringing NgModules together and making them available via the `imports` and `exports` arrays.
+* **Static:** Compiler configuration which tells the compiler about directive selectors and where in templates the directives should be applied through selector matching. This is configured using the `declarations` array.
+* **Runtime:** Injector configuration using the `providers` array.
+* **Composability/Grouping:** Bringing NgModules together and making them available using the `imports` and `exports` arrays.
```typescript
@NgModule({
@@ -196,7 +196,7 @@ The following table summarizes the `@NgModule` metadata properties.
A list of components that can be dynamically loaded into the view.
- By default, an Angular app always has at least one entry component, the root component, `AppComponent`. Its purpose is to serve as a point of entry into the app, that is, you bootstrap it to launch the app.
+ By default, an Angular application always has at least one entry component, the root component, `AppComponent`. Its purpose is to serve as a point of entry into the app, that is, you bootstrap it to launch the application.
Routed components are also _entry components_ because they need to be loaded dynamically.
The router creates them and drops them into the DOM near a ``.
@@ -209,7 +209,7 @@ The following table summarizes the `@NgModule` metadata properties.
That leaves only components bootstrapped using one of the imperative techniques, such as [`ViewComponentRef.createComponent()`](api/core/ViewContainerRef#createComponent) as undiscoverable.
- Dynamic component loading is not common in most apps beyond the router. If you need to dynamically load components, you must add these components to the `entryComponents` list yourself.
+ Dynamic component loading is not common in most applications beyond the router. If you need to dynamically load components, you must add these components to the `entryComponents` list yourself.
For more information, see [Entry Components](guide/entry-components).
diff --git a/aio/content/guide/ngmodule-faq.md b/aio/content/guide/ngmodule-faq.md
index 74dadddcec..61afd0d9b9 100644
--- a/aio/content/guide/ngmodule-faq.md
+++ b/aio/content/guide/ngmodule-faq.md
@@ -27,7 +27,7 @@ Add only [declarable](guide/bootstrapping#the-declarations-array) classes to an
Do *not* declare the following:
-* A class that's already declared in another module, whether an app module, @NgModule, or third-party module.
+* A class that's already declared in another module, whether an application module, @NgModule, or third-party module.
* An array of directives imported from another module.
For example, don't declare `FORMS_DIRECTIVES` from `@angular/forms` because the `FormsModule` already declares it.
@@ -47,7 +47,7 @@ Membership in one list doesn't imply membership in another list.
* `AppComponent` could be declared in this module but not bootstrapped.
* `AppComponent` could be bootstrapped in this module but declared in a different feature module.
-* A component could be imported from another app module (so you can't declare it) and re-exported by this module.
+* A component could be imported from another application module (so you can't declare it) and re-exported by this module.
* A component could be exported for inclusion in an external component's template
as well as dynamically loaded in a pop-up dialog.
@@ -89,11 +89,11 @@ Import [BrowserModule](guide/ngmodule-faq#q-browser-vs-common-module) only in th
The root application module, `AppModule`, of almost every browser application
should import `BrowserModule` from `@angular/platform-browser`.
-`BrowserModule` provides services that are essential to launch and run a browser app.
+`BrowserModule` provides services that are essential to launch and run a browser application.
`BrowserModule` also re-exports `CommonModule` from `@angular/common`,
which means that components in the `AppModule` also have access to
-the Angular directives every app needs, such as `NgIf` and `NgFor`.
+the Angular directives every application needs, such as `NgIf` and `NgFor`.
Do not import `BrowserModule` in any other module.
*Feature modules* and *lazy-loaded modules* should import `CommonModule` instead.
@@ -172,7 +172,7 @@ Its only purpose is to add http service providers to the application as a whole.
The `forRoot()` static method is a convention that makes it easy for developers to configure services and providers that are intended to be singletons. A good example of `forRoot()` is the `RouterModule.forRoot()` method.
-Apps pass a `Routes` array to `RouterModule.forRoot()` in order to configure the app-wide `Router` service with routes.
+Applications pass a `Routes` array to `RouterModule.forRoot()` in order to configure the app-wide `Router` service with routes.
`RouterModule.forRoot()` returns a [ModuleWithProviders](api/core/ModuleWithProviders).
You add that result to the `imports` list of the root `AppModule`.
@@ -368,9 +368,9 @@ not the root `AppComponent`.
### The eagerly loaded scenario
When an eagerly loaded module provides a service, for example a `UserService`, that service is available application-wide. If the root module provides `UserService` and
imports another module that provides the same `UserService`, Angular registers one of
-them in the root app injector (see [What if I import the same module twice?](guide/ngmodule-faq#q-reimport)).
+them in the root application injector (see [What if I import the same module twice?](guide/ngmodule-faq#q-reimport)).
-Then, when some component injects `UserService`, Angular finds it in the app root injector,
+Then, when some component injects `UserService`, Angular finds it in the application root injector,
and delivers the app-wide singleton service. No problem.
### The lazy loaded scenario
@@ -386,7 +386,7 @@ and creates a _new_ instance of the `UserService`.
This is an entirely different `UserService` instance
than the app-wide singleton version that Angular injected in one of the eagerly loaded components.
-This scenario causes your app to create a new instance every time, instead of using the singleton.
+This scenario causes your application to create a new instance every time, instead of using the singleton.