web-dev-qa-db-fra.com

Nom de fichier généré personnalisé avec Angular Cli

Avec Angular-cli, le nom du fichier construit est main. [Hash] .bundle.js avec ng build -prodIs est possible de supprimer la forme hachée de ce nom de fichier. Alors juste main.bundle.js?

15
sneeky

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 bundles

none 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 .

36
Recep

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!!

6
Madhu Ranjan

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.

5
Krishna Vedula

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é.

0
SpaceBeers

essayez d'utiliser: ng build --prod --output-hashing none

0
arvindsc