Courant Réponse correcte :
L'équipe a ajouté la possibilité de copier des fichiers spécifiques tels quels dans le dossier de sortie ( dist
par défaut) dans une version ultérieure d'Angular CLI (il s'agirait de la bêta 17 ou 19 - il est présent dans les versions finales 1.x depuis longtemps).
Il suffit de l'ajouter au tableau dans angular-cli.json
comme :
{
...
"apps" \[
{
"root": "src",
"assets": \[
"assets",
"web.config"
\],
...
}
\]
...
}
(Notez que le chemin est relatif au src
dossier)
Je l'utilise personnellement et cela fonctionne très bien.
Depuis la bêta 24, j'ai ajout d'une fonctionnalité à Angular CLI qui s'assure que toutes les assets
les fichiers et les dossiers sont servis par le serveur de développement webpack lors de l'exécution de la commande ng test
pas seulement ng serve
.
Il prend également en charge le service des fichiers d'actifs dans le serveur dev de webpack utilisé pour les tests unitaires ( ng test
).
(au cas où vous auriez besoin de fichiers JSON pour les tests, ou si vous détestez simplement voir des avertissements 404 dans la console).
Ils sont déjà servis à partir de ng e2e
parce qu'il exécute un ng serve
.
Il dispose également de fonctions plus avancées, comme le filtrage des fichiers que vous souhaitez obtenir d'un dossier, et la possibilité de faire en sorte que le nom du dossier de sortie soit différent de celui du dossier source :
{
...
"apps" \[
{
"root": "src",
"assets": \[
"assets",
"web.config",
{
// Copy contents in this folder
"input": "../",
// That matches this wildcard
"glob": "\*.config",
// And put them in this folder under \`dist\` ('.' means put it in \`dist\` directly)
"output": "."
}
\],
...
}
\]
...
}
.
.
[POUR ARCHIVAGE UNIQUEMENT] Réponse originale (6 octobre 2016) :
Malheureusement, cela n'est pas pris en charge actuellement (à partir de la version bêta-16). J'ai soulevé le problème exact auprès de l'équipe (fichiers web.config), mais il ne semble pas que cela se produise de sitôt (à moins que vous ne forkiez le CLI, etc.).
Suivez cette question pour une discussion complète et d'éventuels détails futurs.
P.S.
Pour le fichier JSON, vous pouvez le mettre dans ./src/assets/
. Ce dossier est copié tel quel dans ./dist/assets/
. C'est le comportement actuel.
Plus tôt dans l'histoire de systemJS, il y avait un autre ./public/
qui a été copié dans le dossier ./dist/
directement, mais cela a disparu dans les versions de Webpack, dont le problème référencé ci-dessus traite.