3

ReactJS、Webpack、Babel、および Firebase を使用してアプリを構築しています。

webpack を実行して、babel ローダーを使用してコードをバンドルすると、他の多くの行の中に次のように表示されます。

[BABEL] 注: コード ジェネレーターは、「/Users/.../myproject/node_modules/firebase/lib/firebase-web.js」のスタイル設定が最大の「100KB」を超えているため、最適化を解除しました。

次に、アプリで require('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」を実行して、使用しているパッケージの 1 つの新しいバージョンが壊れたからなのかはわかりません。

4

2 に答える 2

3

あなたの答えがあるようです: Webpack + Firebase: Firebase の解析を無効にする

Babel は、未定義に"use strict"なる原因を追加します。this

リンクされた回答で説明されているように、解決策はfirebaseのbabel-loaderを無効にすることです:

...
module: {
  loaders: [
    {test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader'}
  ]
}
...
于 2016-09-28T12:30:15.043 に答える