Webpack ReferenceError:评估时未定义全局

Webpack ReferenceError:评估时未定义全局,webpack,redux,babeljs,react-hot-loader,babel-polyfill,Webpack,Redux,Babeljs,React Hot Loader,Babel Polyfill,我遇到了一个错误,我相信是来自webpack方面。这是: index.js:9 Uncaught ReferenceError: global is not defined at eval (index.js:9) at Object.<anonymous> (bundle.js:2548) at __webpack_require__ (bundle.js:622) at fn (bundle.js:48) at eval (client:1

我遇到了一个错误,我相信是来自webpack方面。这是:

index.js:9 Uncaught ReferenceError: global is not defined
    at eval (index.js:9)
    at Object.<anonymous> (bundle.js:2548)
    at __webpack_require__ (bundle.js:622)
    at fn (bundle.js:48)
    at eval (client:1)
    at Object.<anonymous> (bundle.js:2541)
    at __webpack_require__ (bundle.js:622)
    at bundle.js:668
    at bundle.js:671
当我添加Redux对服务器端渲染的建议时,这个错误才开始出现。因此,我在./src/utils/store.js中使用了带有窗口的store.\uuu预加载\u STATE\uuuu,它也在index.ejs中,这是呈现给客户端的文件

这也是我的.babelrc,如果有的话:

{
    "presets": ["es2015", "react", "stage-0"],
    "env": {
        "development": {
            "plugins": ["react-hot-loader/babel"],
        },
    },
    "plugins": [
        "babel-root-import"
    ],
}

希望有人能帮上忙——我在研究和试验中还没有找到解决办法。谢谢大家!

问题是,我认为,这是webpack.config.js中的
目标:'node'
。这基本上说明了Webpack可能假设捆绑包将在类似节点的环境中运行,其中环境提供了诸如
global
require
之类的全局文件。除非另有规定,否则Webpack采用浏览器环境,并重写
全局
以指向
窗口
。您的配置禁用此重写


您可以从配置中删除
target:'node'
,或者通过将
node:{global:true}
添加到您的配置对象来显式启用
global
重写。

谢谢@Stefan-您说得对。我之所以这样做,唯一的原因是因为我遇到了一个问题,说
无法解决“fs”
,而给出的解决方案是
target:“node”
here:。。。然后我得到了未定义的
全局
,因此我陷入了一个错误循环中,无法找到一些方法来消除所有错误。。。有什么想法吗?有症状的话,你需要用webpack来模拟所有弹出的东西。例如,对于
fs
节点:{fs:'empty'}
。我不知道这是否是您尝试执行的操作的正确解决方案。即,
node:{global:true,fs:'empty'}
webpack.config.js
中处理这些错误,然后我会看到
GetEnv.noexistent:SERVER\u主机不存在,并且没有提供回退值。
-我正在用这些错误来打鼹鼠这非常有用!!谢谢你可以读这个答案
{
    "presets": ["es2015", "react", "stage-0"],
    "env": {
        "development": {
            "plugins": ["react-hot-loader/babel"],
        },
    },
    "plugins": [
        "babel-root-import"
    ],
}