mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-19 20:52:06 +08:00
63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
# Project assets
|
|
|
|
You use the `assets` array in `.angular-cli.json` to list files or folders you want to copy as-is
|
|
when building your project.
|
|
|
|
By default, the `src/assets/` folder and `src/favicon.ico` are copied over.
|
|
|
|
```json
|
|
"assets": [
|
|
"assets",
|
|
"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:
|
|
|
|
```json
|
|
"assets": [
|
|
{ "glob": "**/*", "input": "./assets/", "output": "./assets/" },
|
|
{ "glob": "favicon.ico", "input": "./", "output": "./" },
|
|
]
|
|
```
|
|
|
|
`glob` is the a [node-glob](https://github.com/isaacs/node-glob) using `input` as base directory.
|
|
`input` is relative to the project root (`src/` default), while `output` is
|
|
relative to `outDir` (`dist` default).
|
|
|
|
You can use this extended configuration to copy assets from outside your project.
|
|
For instance, you can copy assets from a node package:
|
|
|
|
```json
|
|
"assets": [
|
|
{ "glob": "**/*", "input": "../node_modules/some-package/images", "output": "./some-package/" },
|
|
]
|
|
```
|
|
|
|
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 read or write files outside of
|
|
the project itself (scoped by `.angular-cli.json`). It is however possible to write assets outside
|
|
the `dist/` build output folder during build.
|
|
|
|
Because writing files in your project isn't an expected effect of `ng build`, it is disabled by
|
|
default on every assets. In order to allow this behaviour, you need to set `allowOutsideOutDir`
|
|
to `true` on your asset definition, like so:
|
|
|
|
```json
|
|
"assets": [
|
|
{
|
|
"glob": "**/*",
|
|
"input": "./assets/",
|
|
"output": "../not-dist/some/folder/",
|
|
"allowOutsideOutDir": true
|
|
},
|
|
]
|
|
```
|
|
|
|
This needs to be set for every assets you want to write outside of your build output directory.
|