2016-01-22 7 views
6

と反応パフォーマンスを測定しようとしていますが、コンソールでPerf.start()を実行しようとしたときにエラーが発生します:Uncaught ReferenceError: Perf is not defined(…)Perfが定義されていません - webpack-dev-serverでreactアプリケーションを実行しています

私はプラグインをnpmでインストールし、require('react-addons-perf')をmain.jsファイルに置いていることに言及しておきます。

私はwebpack-dev-serverを実行していて、グローバル変数が適切に公開されていないという事実に関連していると推測していますが、残念なことに、誰もそれで私を助けることができますか?

参考のために私のwebpack.configファイルの内容はcodepenにあります。

答えて

4

スコープを変更したり、グローバルスコープを経由してアクセスできるようにするVARを公開することができ、あなたのwebpack.config内での変更があるかもしれない場合、私は知らないが、1つの簡単な方法は、単に

global.Perf = require('react-addons-perf'); 
を使用することです

これにより、コンソールからアクセスできるようになります。

しかし、一つは、多分あなたのコード内から)Perf.start()とPerf.stopを(トリガーする方法を見つけることを試みるグローバルglobal variables in requireJS

そしておそらくVARSを露出するように意図されていないということではないと言わなければなりませんコンソール!私のために働いたソリューション、見つかり

+0

すごく、ありがとう、それは働いて、私が思いついた解決策よりも仕事が少ないように見えるので、答えとしてマークしてください。 –

3

:この公開ローダを

{ test: require.resolve("react-addons-perf"), loader: "expose?Perf" } 

  1. npm expose-loader module
  2. があなたのWebPACKコンフィグローダーに次の行を追加します。インストールモジュールはグローバルなスコープへのモジュールのエクスポートを公開するのに最適です。

+1

代替構文:JSコード内で、 'require( 'Perf!react-addons-perf');' –

関連する問題