0
votes

Comment puis-je faire l'application mon extrémité avant d'accéder à mes apistes de serveur de nœuds

J'ai créé une application frontale par Creat-React-App .
La commande " NPM Exécuter commence " peut créer un webpack-dev-serveur et servir mon
application frontale pour le développement. Voici le problème:

  1. mon application frontale doit demander une API à partir d'un serveur de nœud que j'ai créé auparavant.
  2. Par défaut Créer-réact-app Démarrez un WebPack-dev-Server sur Port 3000
  3. Mon serveur de nœud a été lancé sur Port 3001
  4. Port d'accès 3001 peut directement causer des problèmes d'origine croisée

    Comment puis-je commencer avec gracieusement mon histoire en développement de ces problèmes!


0 commentaires

3 Réponses :


4
votes

Il existe deux façons de résoudre les problèmes d'origine croisée dans le serveur de nœuds,

  1. Utilisation du module de nœud CORS LI> ol>

    Module CORS d'installation d'abord. NPM Install Cors CODE> P>

    puis utilisez-le à l'intérieur de votre application P>

    app.use(function (req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE");
        next();
    });
    


0 commentaires

1
votes

Un moyen facile de traiter avec Cors avec un backend Nodejs consiste à utiliser ExpressJS Middleware et à l'extension "Cors", comme indiqué dans la documentation ExpressJS:

ExpressJS Cors Guide

À des fins de test Il existe différentes extensions de navigateur qui implémentent automatiquement les en-têtes de Cors dans toutes vos demandes (accès à l'accès-Control-Autory-Origin, méthodes d'accès , Access-Control-Autory-Headers). L'utilisation de cette extension rend toute votre demande à partir du navigateur Cors activé (pas bien pour la production, juste pour Test / Dev).

Notez que les «demandes simples», qui utilisent uniquement les types de contenu / la tête / la poste et les types de contenu suivants: Application / X-www-Form-Urlencoded, multipart / form-données, texte / nature ne déclenche pas Demande de pré-feu Cors afin qu'elles soient autorisées.

Pour une compréhension générale de Cors, je me référerais aux documents MDN Mozilla:

guide Cors Mozilla MDN


0 commentaires

0
votes

Le moyen le plus simple de surmonter les problèmes de Cors est d'utiliser le module NPM pour CORS. Installez-le dans votre projet en utilisant: xxx

puis inclure-le dans votre fichier app.js comme celui-ci: xxx

puis utilisez-le comme Un middleware dans votre application comme ceci: xxx

et cela devrait faire! J'espère que cela vous aidera !! / p>


0 commentaires