web-dev-qa-db-fra.com

Quelle est la différence entre les paramètres --base-href et --deploy-url de l'outil angular-cli

La documentation de Angular indique que je devrais utiliser le paramètre - base-href dans la construction de l'application Angular pour production quand il va être déployé dans un sous-dossier du serveur:

Si vous copiez les fichiers dans un sous-dossier du serveur, ajoutez l'indicateur de construction, --base-href et définissez-le de manière appropriée.

Par exemple, si le fichier index.html se trouve sur le serveur à l'adresse /my/app/index.html, définissez href de base sur cette valeur.

https://angular.io/guide/deployment

Cependant, le paramètre angular-cli a le paramètre - deploy-url . La documentation de l'outil le décrit comme:

URL où les fichiers seront déployés.

https://github.com/angular/angular-cli/wiki/build

J'ai vu des solutions qui utilisent l'instance --deploy-url de --base-href lorsque l'application va être déployée dans un sous-dossier du serveur.

La question

Quelle est la différence entre les paramètres --base-href et --deploy-url de l'outil angular-cli? Quand devrais-je utiliser chacun?

38
Rodrigo
  • Base-href est utilisé par le routage.
  • deploy-url est destiné aux actifs.

Dans la plupart des cas, base-href suffit.

S'il vous plaît voir ces messages:

31
Mac_W

Pour placer mes scripts dans le dossier "/test/app1/script/", j'utilise cette commande :

ng build --prod --base-href /test/app1/ --deploy-url /test/app1/script/

Ainsi, mon application est accessible à partir de https://example.com/test/app1/ mais mes scripts JS et CSS se trouvent dans le https://example.com/test/app1/ script / répertoire.

7
Bill Zelenko

Si je veux utiliser/users comme base d’application pour routeur et/public comme base pour mes ressources.

ng build -prod --base-href /users --deploy-url /public

Voir Shekhar Gulati's blog pour un exemple détaillé

3
Mo-Gang