Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Node.js的Firebase库在使用';巴别塔&x27;加载器。具体地说:“;未捕获类型错误:无法读取属性';导航器&x27;“未定义”的定义;_Reactjs_Firebase_Webpack_Babeljs_Webpack Dev Server - Fatal编程技术网

Reactjs Node.js的Firebase库在使用';巴别塔&x27;加载器。具体地说:“;未捕获类型错误:无法读取属性';导航器&x27;“未定义”的定义;

Reactjs Node.js的Firebase库在使用';巴别塔&x27;加载器。具体地说:“;未捕获类型错误:无法读取属性';导航器&x27;“未定义”的定义;,reactjs,firebase,webpack,babeljs,webpack-dev-server,Reactjs,Firebase,Webpack,Babeljs,Webpack Dev Server,我正在用ReactJS、Webpack、Babel和Firebase构建一个应用程序 当我使用babel loader运行webpack捆绑我的代码时,我看到在许多其他行中打印出以下内容: [BABEL]注意:代码生成器对 “/Users/../myproject/node_modules/firebase/lib/firebase web.js” 因为它超过了“100KB”的最大值 然后当我尝试在我的应用程序中使用('firebase'),然后在浏览器中运行它时。。。浏览器在控制台中打印出以下

我正在用ReactJS、Webpack、Babel和Firebase构建一个应用程序

当我使用babel loader运行webpack捆绑我的代码时,我看到在许多其他行中打印出以下内容:

[BABEL]注意:代码生成器对 “/Users/../myproject/node_modules/firebase/lib/firebase web.js” 因为它超过了“100KB”的最大值

然后当我尝试在我的应用程序中使用('firebase'),然后在浏览器中运行它时。。。浏览器在控制台中打印出以下内容

Uncaught TypeError: Cannot read property 'navigator' of undefined
(anonymous function) @ firebase-web.js:12
(anonymous function) @ firebase-web.js:262
__webpack_require__ @ bootstrap da2fff1ce4ea892319dc:19
aa @ PlayerStore.js:3
__webpack_require__ @ bootstrap da2fff1ce4ea892319dc:19
prop @ Player.js:19
__webpack_require__ @ bootstrap da2fff1ce4ea892319dc:19
(anonymous function) @ index.js:13
__webpack_require__ @ bootstrap da2fff1ce4ea892319dc:19
obj.__esModule.default @ bootstrap da2fff1ce4ea892319dc:39
(anonymous function) @ bootstrap da2fff1ce4ea892319dc:39
PlayerStore.js:3是我的底线:

var Firebase = require('firebase');

当我尝试加载我的应用程序时,有人知道是什么导致了这个错误吗?我不确定这个错误是因为我从Webpack中使用jsx loader切换到babel,还是因为我运行了“npm update”,而我使用的其中一个软件包的新版本正在破坏它。

似乎有你的答案:

巴贝尔增加了
“使用严格的”
,这导致
这个
未定义

解决方案是禁用firebase的babel loader,如链接答案中所述:

...
module: {
  loaders: [
    {test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader'}
  ]
}
...

如果您在爱奥尼亚3上通过webpack获得此Firebase版本,请将其添加到默认版本:

{
测试:/\.js$/,,
加载器:process.env.IONIC\u网页包\u transfile\u加载器,

排除:/node\u modules///这很奇怪。你能确保你使用的是最新版本的Firebase吗?它最近有一些可能会影响这一点的修复程序。否则,如果你可以查看代码,看看它在寻找什么对象“navigator”(或者将你的应用程序放到某个地方,这样我们就可以查看问题),这会很有帮助。一般来说,“navigator”没有定义是很奇怪的。如果你在node.js中使用Firebase或其他东西,我更希望看到这种错误。大概是在寻找应该在浏览器中定义的window.navigator!我认为问题与BABEL行有关。在node_模块中,我的Firebase包是2.2.7。如果不是usi在require('firebase')行中,我只是直接将要从firebase cdn中提取的脚本标记放在index.html中,然后我的应用程序工作正常。因此,我认为与包装firebase的who webpack有关的内容正在破坏它。可能是
  {
    test: /\.js$/,
    loader: process.env.IONIC_WEBPACK_TRANSPILE_LOADER,
    exclude: /node_modules/  // <-- add this 
  }