angular-cli/docs/documentation/stories/asset-configuration.md
Alan 068bb4001d docs: add deprecation and pr note
Docs are deprecated in favor of the the new pages in AIO which are WIP.
2019-01-09 09:14:13 -08:00

1.8 KiB

Documentation below is deprecated and we no longer accept PRs to improve this. The new documentation is available here.

Project assets

You use the assets array inside the build target in angular.json to list files or folders you want to copy as-is when building your project. if you think you need to exclude files, consider not putting that thing in the assets

By default, the src/assets/ folder and src/favicon.ico are copied over.

"assets": [
  "src/assets",
  "src/favicon.ico"
]

You can also further configure assets to be copied by using objects as configuration.

The array below does the same as the default one:

"assets": [
  { "glob": "**/*", "input": "src/assets/", "output": "/assets/" },
  { "glob": "favicon.ico", "input": "src/", "output": "/" },
]
  • glob is a node-glob using input as base directory.
  • input is relative to the workspace root.
  • ignore is a list of globs to ignore from copying.
  • output is relative to outDir (dist/project-name default).

You can use this extended configuration to copy assets from outside your project. For instance, you can copy assets from a node package:

"assets": [
 { "glob": "**/*", "input": "./node_modules/some-package/images", "output": "/some-package/" },
]

You can ignore certain files from copying by using the ignore option:

"assets": [
 { "glob": "**/*", "input": "src/assets/", "ignore": ["**/*.svg"], "output": "/assets/" },
]

The contents of node_modules/some-package/images/ will be available in dist/some-package/.

Writing assets outside of dist/

Because of the security implications, the CLI will always refuse to write files outside of the project output path.