Avec Angular-cli, le nom du fichier construit est main. [Hash] .bundle.js avec ng build -prod
Is est possible de supprimer la forme hachée de ce nom de fichier. Alors juste main.bundle.js
?
Il est maintenant supporté via une option de commande à partir de beta.25.
Cela permet de configurer les hachages du nom de fichier de sortie lors de la construction via une nouvelle option de commande de construction
--output-hashing
. Il y a quatre valeurs possibles:
none
: aucun hachage effectué
media
: ajoute uniquement des hachages aux fichiers traités via les chargeurs [url | file]
bundles
: ajoute uniquement des hachages aux paquets de sortie
all
: ajoute des hachages au média et aux bundlesnone est la valeur par défaut pour la cible de développement . all est la valeur par défaut pour la cible de production.
Plus de détails ici .
D'après ce que je comprends, la variable hash
est utilisée pour la génération de production afin d'éviter les problèmes de cache du navigateur et les utilisateurs ne doivent pas effacer le cache avant d'utiliser le nouveau déploiement.
Je doute que l'équipe de angular-cli
nous donne une option pour configurer cela, nous devons attendre pour vérifier cela.
En attendant, si vous souhaitez personnaliser votre processus de construction, vous pouvez créer vous-même la configuration du WebPack.
De plus, l’équipe de la CLI a indiqué qu’il y aurait quelques plugins Webpack qui aideraient à créer sa propre configuration de Webpack. Commander ici .
Plus de détails ici, WEBPACK: UNE INTRODUCTION .
J'espère que cela t'aides!!
J'ai ajouté l'élément de script suivant pour la production dans le fichier package.json.
"scripts": {
"prod" : "ng build --prod --output-hashing=none --base-href=./"
}
puis courir
npm run prod
créerait le dossier dist sans hachage et inclurait également ./ comme base-href afin que les fichiers soient chargés par rapport au répertoire courant.
Actuellement, vous ne pouvez pas faire cela avec la cli, mais vous pouvez en sortir et utiliser Webpack standard.
Exécutez ng eject
dans votre projet pour créer une configuration et des scripts Webpack appropriés.
Vous pouvez en lire plus sur le Wiki sur GitHub.
https://github.com/angular/angular-cli/wiki/eject
Une fois que vous avez la configuration, vous pouvez faire ce que @tallaxes a suggéré.
essayez d'utiliser: ng build --prod --output-hashing none