ng build

From Get docs
< CLI Overview and Command ReferenceAngular/docs/10/cli/build


Compiles an Angular app into an output directory named dist/ at the given output path. Must be executed from within a workspace directory.

ng build <project> [options]

ng b <project> [options]

Description

The command can be used to build a project of type "application" or "library". When used to build a library, a different builder is invoked, and only the ts-config, configuration, and watch options are applied. All other options apply only to building applications.

The application builder uses the webpack build tool, with default configuration options specified in the workspace configuration file (angular.json) or with a named alternative configuration. A "production" configuration is created by default when you use the CLI to create the project, and you can use that configuration by specifying the --configuration="production" or the --prod="true" option.

The configuration options generally correspond to the command options. You can override individual configuration defaults by specifying the corresponding options on the command line. The command can accept option names given in either dash-case or camelCase. Note that in the configuration file, you must specify names in camelCase.

Some additional options can only be set through the configuration file, either by direct editing or with the ng config command. These include assets, styles, and scripts objects that provide runtime-global resources to include in the project. Resources in CSS, such as images and fonts, are automatically written and fingerprinted at the root of the output folder.

For further details, see Workspace Configuration.

Arguments

Argument Description
<project> The name of the project to build. Can be an application or a library.

Options

Option Description
--allowedCommonJsDependencies A list of CommonJS packages that are allowed to be used without a build time warning.
false

Build using Ahead of Time compilation.

Default: false

--baseHref=baseHref Base url for the application being built.
--buildEventLog=buildEventLog EXPERIMENTAL Output file path for Build Event Protocol events
false

Enables '@angular-devkit/build-optimizer' optimizations when using the 'aot' option.

Default: false

false

Use a separate bundle containing code used across multiple bundles.

Default: true

--configuration=configuration

A named build target, as specified in the "configurations" section of angular.json. Each named target is accompanied by a configuration of option defaults for that target. Setting this explicitly overrides the "--prod" flag

Aliases: -c

anonymous|use-credentials

Define the crossorigin attribute setting of elements that provide CORS support.

Default: none

false

Delete the output path before building.

Default: true

--deployUrl=deployUrl URL where files will be deployed.
false

Concatenate modules with Rollup before bundling them with Webpack.

Default: false

false

Extract css from global styles into css files instead of js ones.

Default: false

false

Extract all licenses in a separate file.

Default: false

false

Run the TypeScript type checker in a forked process.

Default: true

false|json|JSON

Shows a help message for this command in the console.

Default: false

--i18nFile=i18nFile

Deprecated: Use 'locales' object in the project metadata instead.

Localization file to use for i18n.

--i18nFormat=i18nFormat

Deprecated: No longer needed as the format will be determined automatically.

Format of the localization file specified with --i18n-file.

--i18nLocale=i18nLocale

Deprecated: Use 'localize' instead.

Locale to use for i18n.

error|ignore

How to handle missing translations for i18n.

Default: warning

--index=index Configures the generation of the application's HTML index.
--lazyModules

Deprecated: 'SystemJsNgModuleLoader' is deprecated, and this is part of its usage. Use 'import()' syntax instead.

List of additional NgModule files that will be lazy loaded. Lazy router modules will be discovered automatically.

false
--main=main The full path for the main entry point to the app, relative to the current workspace.
false

Use file name for lazy loaded chunks.

Default: true

--ngswConfigPath=ngswConfigPath Path to ngsw-config.json.
false

Enables optimization of the build output.

Default: false

all|media|bundles

Define the output filename cache-busting hashing mode.

Default: none

--outputPath=outputPath

The full path for the new output directory, relative to the current workspace.

By default, writes output to a folder named dist/ in the current project.

--poll Enable and define the file watching poll time period in milliseconds.
--polyfills=polyfills The full path for the polyfills file, relative to the current workspace.
false Do not use the real path when resolving modules. If unset then will default to true if NodeJS option --preserve-symlinks is set.
false Shorthand for "--configuration=production". When true, sets the build configuration to the production target. By default, the production target is set up in the workspace configuration such that all builds make use of bundling, limited tree-shaking, and also limited dead code elimination.
false Log progress to the console while building.
false

Deprecated

Change root relative URLs in stylesheets to include base HREF and deploy URL. Use only for compatibility and transition. The behavior of this option is non-standard and will be removed in the next major release.

Default: false

--resourcesOutputPath= resourcesOutputPath

The path where style resources will be placed, relative to outputPath.

Default:

false

Generates a service worker config for production builds.

Default: false

false

Show circular dependency warnings on builds.

Default: true

false

Output sourcemaps.

Default: true

false

Generates a 'stats.json' file which can be analyzed using tools such as 'webpack-bundle-analyzer'.

Default: false

false

Enables the use of subresource integrity validation.

Default: false

--tsConfig=tsConfig The full path for the TypeScript configuration file, relative to the current workspace.
false

Use a separate bundle containing only vendor libraries.

Default: true

false

Adds more details to output logging.

Default: false

false

Run build when files change.

Default: false

--webWorkerTsConfig= webWorkerTsConfig TypeScript configuration for Web Worker modules.


© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v10.angular.io/cli/build