2017-03-18 14 views
0

console.log()は、リリースモードでのネイティブのprefへの反応に影響します。 console.warn()?console.debug()は、リリースモードでのネイティブパフォーマンスに影響を与えますか?

それ以外の場合は、デバッグメッセージを印刷し、リリースするたびにすべてを取り出す必要はありません。これらのメッセージはdevモードで再度必要となるためです。

+1

私の意見では、すべてのログ出力用のラッパーを作成することをお勧めします。これを使用して、プロダクションの出力ストリームを例えばリスニングデバッグポート上のtelnet/sshコマンドこれにより、実行中のシステム上で動的にデバッグ出力をアクティブ/非アクティブにすることができ、リモートロギングやその他の多くの機能も使用できます。 – Maggistro

答えて

2

ドキュメントを確認する場合は、リリースビルドでbabelプラグインを使用してすべてのconsole。*呼び出しを自動的に削除する方法があります。それによると

[1]、あなただけのプラグインをインストールする必要があります。 1)

npm i babel-plugin-transform-remove-console --save 

2)あなたの.babelrcファイルでこれを追加します。

{ 
    "env": { 
    "production": { 
     "plugins": ["transform-remove-console"] 
    } 
    } 
} 

1 - https://facebook.github.io/react-native/docs/performance.html#using-console-log-statements

0

コンソールステートメントの特定のタイプを削除するように設計されたwebpackプラグインがあります。これらのプラグインは、コンソールステートメントの設定方法によって削除されます。 console.debug声明だけが私が試した最後の時間、私は多くの運がなかった。 で作成されたReactの最新バージョン(例:15.x)を使用してReact JSアプリケーションを構築していて、それをnpm run ejectで取り出す場合、2つの別々のWebpack構成があります。あなたは、生産の構成(/config/webpack.config.prod.js)を変更し、それがこのようなものを見えるようにpluginsセクションで既存のUglifyJsPluginの構成を変更することにより、本番ビルドからのすべてのコンソール文を削除することができます。

new webpack.optimize.UglifyJsPlugin({ 
    compress: { 
    warnings: false, 
    // Disabled because of an issue with Uglify breaking seemingly valid code: 
    // https://github.com/facebookincubator/create-react-app/issues/2376 
    // Pending further investigation: 
    // https://github.com/mishoo/UglifyJS2/issues/2011 
    comparisons: false, 

    // Drop console statements 
    drop_console: true,   // <--- ADD THIS 
    }, 
    output: { 
    comments: false, 
    }, 
    sourceMap: true, 
}), 

あなたが必要とする必要があるすべてですことこれを行うには... すべてコンソールステートメントconsole.debug

関連する問題