2017-08-18 4 views
0

私はwebpackで構築されたJavaScriptクライアント側を持っています。フレームレートを監視するにはstats.jsを使用しています。しかし、私は生産モードで統計ウィンドウを表示したくありません。私は、次のすべてを試してみました:のWebPACKのwebpackを使用してクライアント側で 'process.env.NODE_ENV'などの環境変数を変更するにはどうすればよいですか?

  1. 使用DefinePlugin

    new webpack.DefinePlugin({ 
         'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development') 
    }), 
    
  2. を私のjavascriptのファイルでは、私はそれが 開発モードまたはプロダクションモードであるかどうかを検出するために変数を使用します。

    const isDevelopment = process.env.NODE_ENV !== 'production'; 
    

    次に、isDevelopmentがtrueの場合は、stats domを使用します。

    if (isDevelopment) { 
        const Stats = require('stats.js'); 
        stats = new Stats(); 
        document.body.appendChild(stats.dom); 
    } 
    
  3. プロダクションモードで私のクライアント側をパック:

    webpack -p --progress 
    
  4. ラン生産モードでのアプリ(これはサーバ側で):

    NODE_ENV=production PORT=8899 node server.js 
    

しかし、これらの設定を私のアプリをプロダクションモードで実行していると思われますが、クライアント側がブラウザに統計ウィンドウを表示しないようにしてください。何が間違っていますか?

答えて

0

気にしないでください。 NODE_ENV=productionwebpack -p --progressの前に置くことで修正しました。 -p引数を使用している場合、webpackはデフォルトで環境変数を変更していないようです。 Issueを参照してください。

だから今、私は次のようWebPACKののバンドラを実行します。

NODE_ENV=production webpack -p --progress 
+0

はい、これは正しいです。 –

関連する問題