Docker-Umgebung Nuxt-Axios-Modul zum Festlegen von baseURL

Problem Nur Axios funktionieren nach dem Rendern von Seiten nicht ...

Zuerst habe ich mit Docker-Compose eine Nuxt-Entwicklungsumgebung (Frontend) und die API-Server-Umgebung (App) von go mit einem Knoten-Image erstellt. Sie sollten nun in der Lage sein, die Adresse des Containers mit der App aus dem Frontend-Container aufzulösen.

Und Axios in SSR implementieren: echte Umgebung,

Ich habe die baseURL festgelegt, aber ich habe festgestellt, dass die baseURL in localhost geändert wurde: 3000 (Standard). Ich war beunruhigt über das Phänomen, dass $ store.dispatch, das nach dem Rendern der Seite in Methoden geschrieben wurde, nicht funktionierte, obwohl der vor dem Rendern der Seite aufgerufene Prozess (geschrieben von acyn fetch ()) korrekt funktionierte.

  axios: {
    baseURL: 'http://app:8080',
    proxy: true,
  },
  proxy: {
    '/api': '/'
  },
methods: { 
    axiosFunc() {  //Dies funktioniert nicht 404 Fehler
        const payload = {....}
        this.$store.dispatch('.....', payload)
    }
},
async fetch({store}) { //Bewegen Sie sich hierher
    const payload = {....}
    await store.dispatch('.....', payload)
}

Lösung

Obwohl die Ursache bis zu einem gewissen Grad vorhergesagt werden kann, scheint sie sich aufgrund der Kommunikationsbeziehung mit dem Server vor und nach dem Rendern der Seite geändert zu haben. Und ich habe den Blog unten gefunden.

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

Da die Abrufseite, die Axios in SSR (Container) ausführt, auf der baseURL ausgeführt wird und die in Methoden definierte Funktion auf der Browserseite aufgerufen wird, musste die browserBaseURL festgelegt und der Endpunkt gewechselt werden.

Es scheint auch, dass der Browser nicht in der Lage ist, die Adresse anhand des Containernamens zu verfolgen.

net::ERR_NAME_NOT_RESOLVED

Stellen Sie jeden Container in ein gemeinsames Netzwerk.

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

Ich konnte es durch Angabe sicher bewegen.

Recommended Posts

Docker-Umgebung Nuxt-Axios-Modul zum Festlegen von baseURL
SSL in der lokalen Umgebung von Docker / Rails / Puma
Installieren Sie, indem Sie die Version von Django in der Docker-Umgebung angeben
Japanische Einstellungen für MySQL im Docker-Container
Führen Sie Redmine in der lokalen Umgebung von Windows 10 Pro-Use Docker Desktop für Windows aus
Verbessern Sie die Leistung der Docker-Entwicklungsumgebung
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
So installieren Sie Docker in der lokalen Umgebung einer vorhandenen Rails-App [Rails 6 / MySQL 8]
Ein Memorandum der Pfadeinstellungsprozedur der Umgebungsvariablen "JAVA_HOME"
Docker-Überwachung - Erläuterung der Grundlagen der Grundlagen
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
802.1X-Authentifizierung für das Netzwerk der Bonding-Einstellung in CentOS7
Was Docker-Anfänger vor dem Einrichten der Nginx-Lernumgebung getan haben
Verwenden Sie MailHog zum Überprüfen von E-Mails in der Entwicklungsumgebung (mit Docker).
Untersuchen Sie die Systeminformationen der AWS Lambda-Betriebsumgebung in Java
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
Erstellen Sie eine Browsertestumgebung mit Capybara in der Docker-Entwicklungsumgebung
Installieren Sie lsb_release über die Befehlszeile, wenn lsb_release in der Docker-Umgebung fehlschlägt
Reihenfolge der Verarbeitung im Programm
Festlegen von Projektumgebungsvariablen mit IntelliJ
Ausführen mit normalen Befehlen für die Entwicklungssprache in der Docker-Entwicklungsumgebung
[Docker] Verwenden Sie Umgebungsvariablen in Nginx conf
Die Identität der Schienenparameter [: id]
Die Geschichte der Aktualisierung des Docker-Containers von Sonar Qube
Verwenden Sie Docker in einer Proxy-Umgebung unter Ubuntu 20.04.1
Schaben mit Puppenspieler in Nuxt auf Docker.
Bearbeiten Sie MySQL mit Befehlen in der Docker-Umgebung
Erstellen eines Servlets in der Liberty-Umgebung
Die Geschichte des Schreibens von Java in Emacs
[Rails] Setzen Sie die Datenbank in der Produktionsumgebung zurück
Schreiben Sie die Bewegung von Rakefile in das Runbook
Bereiten Sie mit Docker-Compose eine Nuxt (Web) + Laravel (API) -Entwicklungsumgebung im selben Repository vor
Verfahren zum Einführen von Docker in die Entwicklungsumgebung vorhandener Rails-Apps [Rails, MySQL, Docker]
Führen Sie Docker in die Entwicklungs- und Testumgebung vorhandener Rails- und MySQL-Apps ein
Legen Sie die Quelle der Bibliothek als Abhängigkeit in IntelliJ als separates Modul des Projekts fest
AndroidStudio Verweisen wir auf C ++ im Modul anderer Projekte (Java / Kotlin).
So legen Sie Umgebungsvariablen in der Eigenschaftendatei der Spring-Boot-Anwendung fest
Was ist zu tun, wenn in einer der Quellen in der Entwicklungsumgebung mit Docker × Rails × RSpec "Nicht gefunden" angezeigt wird?