未捕获的ReferenceError:未定义全局设置节点/快速服务器和webpack

时间:2017-02-12 21:12:42

标签: node.js express webpack

我试图设置一个非常简单的脚本,从API中获取数据并使用它的数据。我需要使用CORS,所以我设置了一个node / express服务器并将其指向我的Webpack包。我得到的错误是global is not defined。通过谷歌搜索,我看到人们通过禁用似乎指向热重装的react / redux工具来解决他们的问题。问题是,我没有使用热重装。

看到我查看了我使用的全局指向我的fetch表达式的内容。但是,删除所有我的提取代码并没有解决任何问题

我的服务器看起来像这样

const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const app = express();
const cors = require('cors');
const port = process.env.PORT || 3000;


app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

app.use(cors());

app.use(express.static(path.join(__dirname, '../dist')));

app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, '../index.html'));
});

app.listen(port, function(){
    console.log('server running on http://127.0.0.1:' + port + '/');
});

我的webpack配置看起来像这样

var path = require('path');
var webpack = require('webpack');

module.exports = {
    entry: ['babel-polyfill', './scripts/app.js'],
    target: "node",
    output: { path: __dirname, filename: './dist/bundle.js' },
    devtool: 'source-map',
    module: {
        loaders: [
            {
                test: /.js?$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['es2015'],
                    "plugins": ["transform-object-rest-spread"]
                }
            }
        ]
    }
};

我现在能够想到的是,我没有正确设置我的快速服务器,或者我在webpack配置中遗漏了一些内容。

1 个答案:

答案 0 :(得分:1)

好吧,问题是由于我的webpack.config中的babel-polyfill放入了我的入口点。由于我已经预设了ES2015,我不需要填充。

我不确定为什么我将babel-polyfill放入我的入口。