web-dev-qa-db-fra.com

Personnaliser le service pour les appels proxy à / api?

J'ai créé une nouvelle application avec ng CLI, fonctionne comme un charme: ng new babysteps cd babysteps ng serve ng serve utilise webpack pour assembler l'application. Pour le tester complètement, j'ai besoin de servir /api... de mon serveur fictif d’API (en particulier les demandes POST). Comment puis-je personnaliser le serveur Web utilisé pour rediriger ce type d’URL?

Le serveur de développement Webpack a n paramètre de proxy , mais il semble (?) ng serve n'a pas de fichier de configuration (ou je ne l'ai pas eu).

Dois-je créer un webpack.config.js ou créer/éditer un autre fichier vers un proxy?

26
stwissel

Vous pouvez en effet configurer un proxy à utiliser avec le angular cli, avec le drapeau --proxy-config.

Voici plus ou moins un copier-coller de la documentation :

Supposons qu'un serveur fonctionne sur http: // localhost: 3000/api et que nous souhaitons que tous les appels sur http: // localhost: 4200/api se rendent sur ce serveur. .

Nous créons un fichier à côté de projets package.json Appelé proxy.conf.json Avec le contenu

{
    "/api":
    {
        "target": "http://localhost:3000",
        "secure": false
    } 
}

[...]

puis on édite le script de démarrage du fichier package.json pour qu'il soit

"start": "ng serve --proxy-config proxy.conf.json"

et lancez-le avec npm start

61
Fredrik Lundin