React jsがNPM経由でインストールされ、browserifyを使用して、reactのコンポーネントを管理しています。Reactで例外が発生すると、コンソールに
「不明なエラー:縮小された例外が発生しました。完全なエラーメッセージと追加の有用な警告には、縮小されていない開発環境を使用してください。」
完全なエラーメッセージを有効にするにはどうすればよいですか?
コメントでBenjamin Gruenbaumが指摘したようにNODE_ENVを開発に設定すると、問題が解決しました。
set NODE_ENV=development
Karma + Webpackでこの問題が発生している場合、次のWebpack構成により、テスト実行時の問題が修正されました。
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('development')
}
})
]
私は最終的にこれを解決しました。
あなたが私と同じで、NODE_ENVを設定するコマンドを実行しても文字通り機能しない場合は、フルバージョンのファイルではなくreact.min.jsにリンクしているかどうかを確認してください。
フルバージョンへのリンクとそれは魅力のように動作するはずです。 :D
Jspmを使用してコードをバンドルしている場合、バージョン0.16.24は縮小された「実稼働」バージョンのReactをインポートするため、このエラーがスローされることに注意してください。私の一時的な解決策は、jspmを0.16.23にダウングレードすることでした。
editjspmの将来のバージョンでは、プロダクションバージョンと開発バージョンを宣言できるようになります( jspm beta documentation を参照)
私はこの問題を抱えていました。私にとっては、縮小化を無効にしたり、反応ソースを使用する必要はありませんでした。私のスクリプトは、ルート要素の前に読み込まれていました。そのため、スクリプトを頭から出して、インデックスファイルのソースコードのdivの下に移動しただけで、修正されました。
これから私のindex.jadeを変更しました:
html
head
title Super coo site
script(src="bundle.js")
body
div#root
これに:
html
head
title Super coo site
body
div#root
script(src="bundle.js")
レンダリングしようとしているDOM要素を確認しましたか?愚かな間違いが原因でこのエラーが発生しました。最悪の部分は、バンドルが縮小されたことです。要素idは同じではありません
Index.html
<div id="ds-app"></div>
app.jsx
React.DOM.render(<App/>, document.getElementById('app'))
本番環境でmin.jsファイルを使用するか、アプリケーションコードをprocess.env.NODE_ENV === 'production'
そして、あなたは行ってもいいはずです!
バージョン15.2 、生産Reactエラーメッセージ(NODE_ENV=production
)現在、URLが含まれています。このURLにアクセスすると、難読化されていない元のエラーを確認できます。
https://Twitter.com/dan_abramov/status/74896988643354624
これらのエラーメッセージにアクセスするには、React 15.2へのアップグレードを検討する必要があります。さらに、一部の生産クラッシュレポートツール これらのエラーを自動的に縮小します 。