These are chat archives for QingWei-Li/cooking

28th
Jun 2016
BITDM
@BITDM
Jun 28 2016 13:47
试了一下好象没什么效果
cooking.conf.js的devServer支持proxy吗?是不是和webpack的配置一样?
cinwell.li
@QingWei-Li
Jun 28 2016 13:48
用的是 webpack-dev-server
BITDM
@BITDM
Jun 28 2016 13:49
在devServer那一节下加了proxy: {
'/api/*': {
target: 'http://localhost:8082',
secure: false
}
}
并没有转发
还是需要在别的地方配置?或者缺少插件?
cinwell.li
@QingWei-Li
Jun 28 2016 13:50
webpack-dev-server 自己就支持的呀 应该是能用的
你设置了 historyApiFallback 了么
BITDM
@BITDM
Jun 28 2016 13:51
没有,需要设置成true?
cinwell.li
@QingWei-Li
Jun 28 2016 13:52
你要设置成 false
不 默认是为 true
BITDM
@BITDM
Jun 28 2016 13:52
好,我试一下
BITDM
@BITDM
Jun 28 2016 14:00
还是没效果
vue-cli初始化的项目里,是用了http-proxy-middleware。
cinwell.li
@QingWei-Li
Jun 28 2016 14:02
稍等我试一下
他那个是用的 express 自己配置的一个 dev-server
BITDM
@BITDM
Jun 28 2016 14:03
是的
cinwell.li
@QingWei-Li
Jun 28 2016 14:03
如果用 webpack-dev-server 里面就带有了
BITDM
@BITDM
Jun 28 2016 14:03
webpack-dev-server的文档里提到的proxy,我也照着加了
就是刚才贴的那段
用的是vue-resource来发的请求
cinwell.li
@QingWei-Li
Jun 28 2016 14:17
我这边可以用诶
blob
devServer: {
    port: 8888,
    publicPath: '/',
    historyApiFallback: false,
    proxy: {
      '/api/*': {
        target: 'http://jsonplaceholder.typicode.com',
        changeOrigin: true,
        rewrite: function(req) {
          req.url = req.url.replace(/^\/api/, '');
          console.log(req.url)
        }
      }
    }
  }
fetch('/api/posts/1')
        .then(result => result.json())
        .then(result => {
          console.log(result);
        });
@BITDM
BITDM
@BITDM
Jun 28 2016 14:19
我照着试一下
可以了,是不是少了后面的选项changeOrigin:true?
cinwell.li
@QingWei-Li
Jun 28 2016 14:23
。。。不知道 我直接拷的 demo
BITDM
@BITDM
Jun 28 2016 14:29
刚试了一下,少了那个rewrite函数,就不行
cinwell.li
@QingWei-Li
Jun 28 2016 14:30
那个只是把请求地址前面的 api 去掉
哦 估计不去掉就和你后端接口不一致了
BITDM
@BITDM
Jun 28 2016 14:31
有可能
我知道为什么出错了,因为后端接口没有/api这个前缀,去掉以后才能正确访问
也就是说如果后端接口是类似http://xx/api/resource 这种,就不需要rewrite了
cinwell.li
@QingWei-Li
Jun 28 2016 14:35
BITDM
@BITDM
Jun 28 2016 14:38
谢谢了,这样就不需要在js里把请求地址写死了
cinwell.li
@QingWei-Li
Jun 28 2016 14:39
🌚 棒