2

我的應用程序使用Python後端,因此當我在本地運行時,我需要將我的請求代理到與運行Webpack不同的端口。webpack-dev-server代理不工作

我試圖使這項工作的幾種不同的方式:

devServer: { 
    contentBase: outDir, 
    proxy: [ 
    { 
     path: "**", 
     target: "http://localhost:8000", 
     secure: false, 
     bypass: function(req, res, options) { 
     if(req.url === '' || req.url === '/') { 
      res.statusCode = 302; 
      res.setHeader('Location', '/a/'); 
      return '/a/'; 
     } 

     var frontend = new RegExp("^\/$^|\/a\/index\.html|^\/a\/|^\/a$|^\/styleguide"); 
     if (frontend.test(req.url)) return req.url; 
     } 
    } 
    ], 
    // serve index.html for all 404 (required for push-state) 
    historyApiFallback: true, 
}, 

這:

proxy: [{ 
    context: '/', 
    target: 'http://localhost:8000', 
}], 

這兩項將至少顯示出類似這樣的消息在啓動時: [HPM] Proxy created: ** -> http://localhost:8000。當我看文檔,做這樣的事情,它不工作,要麼(我甚至不得到有關代理運行的消息):

proxy: { 
    "/": "http://localhost:8000" 
} 

有什麼明顯的,我做錯了什麼?我一直在嘗試我能想到的所有組合,以使其發揮作用。

回答

0

嘗試添加changeOrigin: true。不要忘記改變API模式。

proxy: { 
    '/api/**': { 
    target: 'http://localhost:8000', 
    secure: false, 
    changeOrigin: true 
    }, 
}