2017-11-22 9 views
1

Ich habe meine App in React erstellt und nach dem Testen im Produktions-Build über den webpack-dev-server zeigt sich die Unmöglichkeit des Aufrufs der API. Ich mache die Anfragen über AXIOS.React JS webpack-dev-server api kann nicht aufgerufen werden

Der folgende Fehler tritt für GET-Anfrage:

GET http://localhost:8080/api/web/api/get-logged-navbar 404 (nicht gefunden)

Für die POST-Anfragen, ist es nicht die Aktionen auslösen.

Obwohl ich den richtigen Pfad für die Anfrage verwenden.

wichtige Ordner Meine App sind als solche strukturiert:

  • Öffentlichkeit (die bundle.js-Datei erstellt, sowie andere Styling und Script-Assets sind in hier)
  • src (Komponenten und Aktionen)
  • api (der api Code hier ist: Yii2)

Webpack config:

var webpack = require('webpack'); 
var path = require('path'); 

var BUILD_DIR = path.resolve(__dirname, 'public'); 
var APP_DIR = path.resolve(__dirname, 'src'); 

var config = { 
    entry: APP_DIR, 
    output: { 
    path: BUILD_DIR, 
    filename: 'bundle.js' 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     include: APP_DIR, 
     loader: 'babel-loader', 
     }, 
     { 
     test: /\.css$/, 
     loaders: ["style-loader","css-loader"] 
     }, 
    ] 
    } 
}; 

module.exports = config; 

Muss ich einen Proxy einrichten und die API auf einen anderen Server-Port setzen?

Antwort

0

Vorausgesetzt, Sie sagen, was ich denke, Sie sagen, dann ja, Sie wahrscheinlich Webpack-dev-Server proxy option benötigen, um Ihre API-Anfragen an Ihre Yii2-Backend weiterzuleiten. Finden Sie heraus, welchen Port der API-Server überwacht, und geben Sie an diesen Port den Proxy /api an, wie im Beispiel auf dieser Seite angegeben.

0

Ich baute eine Wetter-App, die React/Webpack und Axios verwendete, um API-Aufrufe an openweather.org zu machen. Ich würde nicht denken, dass ein Proxy notwendig wäre. Sie sollten die URL untersuchen, die Sie an Axios übergeben. Ohne Ihren Code sehen zu können, wäre es schwierig, weitere Vorschläge zu machen.

+0

Bei der Übergabe der URL an Axios in der Entwicklerumgebung funktioniert alles gut. Nur wenn ich in die Produktionsumgebung komme, erscheinen die Fehler. –

Verwandte Themen