我在 Webpack 中的代理有问题吗?

Are there some problems with my proxy in Webpack?

我想从别人写的一篇Api中获取一些信息。我使用 axios 来请求 Api。我用webpack打包的时候,会出现跨域的问题。我尝试使用 Webpack 提供的代理,它仍然显示我一些问题。

Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https

我按照这个来写我的webpack.config.js

https://webpack.github.io/docs/webpack-dev-server.html#proxy

这是我的 webpack.config.js

let path = require('path');

module.exports = {
    devServer: {
        proxy:{
            '/v2': {
                target: 'http://api.douban.com',
                secure:false,
                changeOrigin: true,
                pathRewrite: {
                    '^/v2': '/v2'
                }
            }
        }
    },
    entry: ['whatwg-fetch','./App/app.js'],
    output: {
        path: path.join(__dirname, '/dest'),
        filename: 'app.js'
    },
    resolve: {
        extensions: ['.js', '.jsx', '.css']
    },
    module: {
        loaders: [
            {   test: /\.js|jsx$/,
                loaders: ['babel-loader'],
                exclude: /node_modules/
            },
            {
                test: /\.css$/,
                loaders:['css-loader']
            },
            {   test: /\.(eot|woff|woff2|svg|ttf)([\?]?.*)$/,
                loaders: ['file-loader']
            },
            {   test: /\.json$/,
                loader: 'json-loader'
            }
        ]
    },
    node: {
        console: true,
        fs: 'empty',
        net: 'empty',
        tls: 'empty'
    }
};

这是我的 axios 请求:

 axios.post({
 url: '/v2/movie/in_theaters',
 })
 .then((res)=>{
 //console.log(res.data)
 //data=res.data;
 this.setState({data:"success"})
 })
 .catch((err)=>{
 this.setState({data:"err"})
 })

我用的是React,所以我尝试通过setState来了解是否成功。

http://api.douban.com 托管在哪里?

您需要更新其服务器配置以允许从不同来源(可能是本地主机)发送的请求。

基本上,从 douban.com 上托管的东西发送的请求可能默认启用,但除非服务器配置明确允许,否则不会从其他地方发送请求。

Cross-Origin Resource Sharing (CORS)