Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

`deploy-url` is not prepended to imported file url when using `file` loader in `esbuild`

Ouverte
#32,789 2 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
angular, typescript
Domaine
build-system, cli

Piste de recherche

Commencez par esbuild application builder et sa gestion de file-loader, en utilisant angular.json et la commande reproduite ng build --deploy-url=/my-deploy-url/ comme points d’entrée. Vérifiez comment une URL SVG importée est générée et comparez-la au comportement attendu de la deploy URL ; le travail est terminé lorsque l’URL du fichier importé inclut la deploy URL configurée sans workarounds à l’exécution.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

angular/build:application area: @angular/build freq1: low gemini-triaged severity3: broken type: bug/fix
Command

build

Is this a regression?
  • Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was

any webpack-based build

Description

When using Angular v21 with the new esbuild builder, and using a file loader configured for certain file types (like SVG) the --deploy-url argument passed into the build command does not get prepended to the URL returned when importing a file of the said type, and there is no way to configure it to do so.

This was properly working previously with webpack, when loading of the SVG assets was configured with a rule like this:

{
  test: /\.svg$/,
  type: 'asset/resource',
  generator: {
    filename: '[name][hash][ext]',
  },
}

Looks like with esbuild there is no way to achieve the same result, apart from manually adding deploy-url to imported URLs in runtime.

Minimal Reproduction
  1. Use esbuild application builder
  2. Configure angular.json to use file loader to import a certain file type:
"loader": {
  ".svg": "file"
},
  1. Build application using ng build --deploy-url=/my-deploy-url/
  2. Import some SVG file in the app:
import mySvgUrl from './my-image.svg';
  1. Observe: mySvgUrl does not have /my-deploy-url/ prepended to it
Exception or Error

No error

Your Environment
Angular CLI       : 21.2.2
Angular           : 21.2.4
Node.js           : 24.8.0
Package Manager   : npm 11.6.0
Operating System  : darwin arm64

┌───────────────────────────────────┬───────────────────┬───────────────────┐
│ Package                           │ Installed Version │ Requested Version │
├───────────────────────────────────┼───────────────────┼───────────────────┤
│ @angular/animations               │ 21.2.4            │ 21.2.4            │
│ @angular/build                    │ 21.2.2            │ 21.2.2            │
│ @angular/cdk                      │ 21.2.2            │ 21.2.2            │
│ @angular/cli                      │ 21.2.2            │ 21.2.2            │
│ @angular/common                   │ 21.2.4            │ 21.2.4            │
│ @angular/compiler                 │ 21.2.4            │ 21.2.4            │
│ @angular/compiler-cli             │ 21.2.4            │ 21.2.4            │
│ @angular/core                     │ 21.2.4            │ 21.2.4            │
│ @angular/elements                 │ 21.2.4            │ 21.2.4            │
│ @angular/forms                    │ 21.2.4            │ 21.2.4            │
│ @angular/localize                 │ 21.2.4            │ 21.2.4            │
│ @angular/platform-browser         │ 21.2.4            │ 21.2.4            │
│ @angular/platform-browser-dynamic │ 21.2.4            │ 21.2.4            │
│ @angular/router                   │ 21.2.4            │ 21.2.4            │
│ rxjs                              │ 7.8.2             │ 7.8.2             │
│ typescript                        │ 5.9.3             │ 5.9.3             │
│ vitest                            │ 4.0.18            │ 4.0.18            │
│ zone.js                           │ 0.16.0            │ 0.16.0            │
└───────────────────────────────────┴───────────────────┴───────────────────┘
Langage dominant
TypeScript
Étoiles
27k
Forks
11.8k
Merge moyen
17 h 25 min
PR mergées (30 j)
183

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de angular/angular-cli

Toutes les issues de angular/angular-cli

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.