鍍金池/ 問(wèn)答/Linux  HTML/ react+webpack-dev-server開發(fā)模式動(dòng)態(tài)指定Restful的

react+webpack-dev-server開發(fā)模式動(dòng)態(tài)指定Restful的url

使用webpack-dev-server 做react 的開發(fā)模式

node.js + react 自建本地開發(fā)服務(wù)器localhost:9000

但組件中用Fetch發(fā)送請(qǐng)求給后端拿數(shù)據(jù),測(cè)試時(shí)URL寫死為localhost:9100/get/test
(ps:localhost:9100為后端請(qǐng)求地址)

而到了與后端代碼整合的時(shí)候URL只寫成/get/test就好了

請(qǐng)問(wèn):webpack-dev-server測(cè)試時(shí)如何也能在URL只寫/get/test,請(qǐng)求時(shí)自動(dòng)加上localhost:9100前綴?

回答
編輯回答
萌吟

webpack-dev-server配置項(xiàng)中有proxy屬性的。

用Node.js API起webpack-dev-server的服務(wù),然后用proxy代理請(qǐng)求就行。

大概這個(gè)樣子吧。(一般來(lái)講前端都會(huì)給請(qǐng)求加上一個(gè)固定的識(shí)別前綴,然后在proxy里面rewrite掉)

let server = new WebpackDevServer(compiler, {
  stats: {
    colors: true,
  },
  proxy: {
    '/api/*': {
      target: 'http://localhost:9100',
      pathRewrite: {'^/api' : ''}
      secure: false
    }
  },
});

https://webpack.js.org/config...

2017年2月20日 20:41
編輯回答
祈歡

可以配置反向代理:


module.exports = {
    //...

    // webpack-dev-server的配置
    devServer: {
        historyApiFallback: true,
        hot: true,
        inline: true,
        progress: true,
        port: 3000,
        host: '10.0.0.9', //本地前端服務(wù)
        proxy: {
            '/test/*': {
                target: 'http://localhost:9100', // 本地后端服務(wù)
                changeOrigin: true,
                secure: false
            }
        }
    },

//...
};```
2017年11月11日 13:54