如果我使用webpack打包,为什么我不能使用请求

时间:2017-12-14 11:30:44

标签: javascript node.js webpack request

我尝试使用Webpack打包我的React代码。

然后我尝试使用请求从网站获取一些信息。

这是我的JS代码的一部分

  rp({url:'http://int.dpool.sina.com.cn/iplookup',encoding:null})
        .then((html) => {
        this.setState({data:"sucess"})
    })
        .catch((err) =>{
        this.setState({data:err.toString()})
        })

我使用rp,这是请求承诺(带有promise的请求),我尝试通过this.state.data显示结果。

代码在节点中运行良好(没有react和webpack),我成功访问了数据。如果我使用Webpack打包它,它会显示错误:RequestError:TypeError:无法获取。

我想在使用webpack后,互联网存在一些问题。

这是我的webpack.config.js

let path = require('path');

module.exports = {
    entry: './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',
    }
};

我不知道问题是我将网络设置为“空”。

如果我忽略了

node: {
        console: true,
        fs: 'empty',
        net: 'empty',
        tls: 'empty',
    }

webpack会给我一些错误

0 个答案:

没有答案