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.
Quelle est la différence entre les paramètres --base-href et --deploy-url de l'outil angular-cli? Quand devrais-je utiliser chacun?
Dans la plupart des cas, base-href suffit.
S'il vous plaît voir ces messages:
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.
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é