Environnement Docker Module Nuxt axios pour définir baseURL

Problème Seul axios ne fonctionne pas après le rendu de la page ...

Tout d'abord, en utilisant docker-compose, j'ai créé un environnement de développement nuxt (frontend) et un environnement de serveur API (application) de go avec une image de nœud. Vous devriez maintenant être en mesure de résoudre l'adresse du conteneur avec l'application à partir du conteneur frontal.

Et implémentez axios en SSR: véritable environnement,

J'ai défini la baseURL, mais j'ai remarqué que la baseURL a changé en localhost: 3000 (par défaut). J'ai été troublé par le phénomène selon lequel $ store.dispatch écrit dans des méthodes après le rendu de page ne fonctionnait pas même si le processus appelé avant le rendu de page (écrit par acyn fetch ()) fonctionnait correctement.

  axios: {
    baseURL: 'http://app:8080',
    proxy: true,
  },
  proxy: {
    '/api': '/'
  },
methods: { 
    axiosFunc() {  //Cela ne fonctionne pas erreur 404
        const payload = {....}
        this.$store.dispatch('.....', payload)
    }
},
async fetch({store}) { //Déplacez-vous ici
    const payload = {....}
    await store.dispatch('.....', payload)
}

Solution

Bien que la cause puisse être prédite dans une certaine mesure, il semble qu'elle ait changé en raison de la relation de communication avec le serveur avant et après le rendu de la page. Et j'ai trouvé le blog ci-dessous.

https://rara-world.com/nuxt-docker-404-api/

Étant donné que le côté extraction qui exécute axios dans SSR (conteneur) s'exécute sur baseURL et que la fonction définie dans les méthodes est appelée côté navigateur, il était nécessaire de définir browserBaseURL et de changer le point de terminaison.

De plus, il semble que le navigateur n'ait pas la possibilité de retracer l'adresse par nom de conteneur.

net::ERR_NAME_NOT_RESOLVED

Mettez chaque conteneur dans un réseau commun,

browserBaseURL: "http://app:8080",

J'ai pu le déplacer en toute sécurité en précisant.

Recommended Posts

Environnement Docker Module Nuxt axios pour définir baseURL
SSL dans l'environnement local de Docker / Rails / puma
Installer en spécifiant la version de Django dans l'environnement Docker
Paramètres japonais pour mysql dans le conteneur Docker
Exécutez Redmine dans l'environnement local de Windows10 Pro-Use Docker Desktop pour Windows
Améliorer les performances de l'environnement de développement Docker
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
Un mémorandum de la procédure de définition du chemin de la variable d'environnement "JAVA_HOME"
Surveillance Docker-expliquant les bases des bases-
J'ai essayé de créer un environnement de WSL2 + Docker + VSCode
Authentification 802.1X au réseau du paramètre de liaison dans CentOS7
Ce que les débutants de Docker ont fait avant de configurer l'environnement d'apprentissage nginx
Utilisez MailHog pour vérifier le courrier dans l'environnement de développement (à l'aide de Docker)
Examiner les informations système de l'environnement d'exploitation AWS Lambda en Java
J'ai essayé de créer un environnement de serveur UML Plant avec Docker
Créer un environnement de test de navigateur à l'aide de Capybara dans l'environnement de développement Docker
Installez lsb_release à partir de la ligne de commande lorsque lsb_release échoue dans l'environnement docker
Ordre de traitement dans le programme
Définition des variables d'environnement de projet avec intelliJ
Comment exécuter avec des commandes de langage de développement normales dans l'environnement de développement Docker
[Docker] Utiliser des variables d'environnement dans Nginx conf
L'identité des paramètres de rails [: id]
L'histoire de la mise à jour du Docker Container de Sonar Qube
Utiliser docker dans un environnement proxy sur ubuntu 20.04.1
Grattage avec marionnettiste à Nuxt sur Docker.
Modifier Mysql avec des commandes dans l'environnement Docker
Création d'un servlet dans l'environnement Liberty
L'histoire de l'écriture de Java dans Emacs
[Rails] Réinitialisez la base de données dans l'environnement de production
Ecrire le mouvement de Rakefile dans le runbook
Préparez un environnement de développement Nuxt (web) + Laravel (API) dans le même référentiel à l'aide de docker-compose
Procédure pour introduire Docker dans l'environnement de développement des applications Rails existantes [Rails, MySQL, Docker]
Présentez Docker à l'environnement de développement et à l'environnement de test des applications Rails et MySQL existantes
Définir la source de l'ensemble de bibliothèques en tant que dépendance dans IntelliJ en tant que module distinct du projet
AndroidStudio Faisons référence au C ++ dans le module des autres projets (Java / kotlin)
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
Que faire lorsque «Impossible de trouver» dans l’une des sources apparaît dans l’environnement de développement avec Docker × Rails × RSpec