Tepki - Küçültülmüş istisna oluştu

NPM üzerinden React JS yüklü ve reaksiyondaki bileşenleri yönetmek için browserify kullanıyorum. React'te bir istisna meydana geldiğinde, konsol

"Yakalanmamış Hata: Küçültülmüş istisna oluştu; küçültülmemiş aygıt kullan   tam hata mesajı ve ek yardımcı için ortam   uyarılar. "

Tam hata mesajlarını nasıl etkinleştiririm?

31
Bu kelimenin tam anlamıyla browserify ile tepki kullanmayla ilgili belgelerin ilk sayfasında - NODE_ENV production olarak mı ayarlanmış?
katma yazar Benjamin Gruenbaum, kaynak
Çok rica ederim, şimdi bir cevap yazabilirim yapabilirim ama bence cevabı Q&A tarzında yazarken daha iyi bir değer olacağını düşünüyorum.
katma yazar Benjamin Gruenbaum, kaynak
Eh, size "tam hata mesajı ve ek yararlı uyarılar için küçültülmüş olmayan dev ortamını kullanın" diyor.
katma yazar Benjamin Gruenbaum, kaynak
Daha iyi soru: Neden küçültülmüş istisnalar yığın izleyemiyor? Dev modunda hiçbir istisna olmadığında bu oldukça büyük bir problemdir ...
katma yazar Andy, kaynak
@Laoujin ilginç nokta! Birçok insan üretim hatası mesajlarını açmak/kapatmak için ayrı bir seçenek istiyor gibi görünüyor: github.com/facebook/tepki/sorunları/2686
katma yazar Andy, kaynak
@Andy: İstif aracını inşa etmenin oldukça pahalı bir işlem olduğunu düşündüm, bu yüzden üretim için atlandı. Ama evet, burada da aynı sorunu var ... Dev sürümünde hata oluşmuyor;)
katma yazar Laoujin, kaynak
Set NODE_ENV = development && node app.js dosyasını package.json'dan yürüttüm ve hala yalnızca küçültülmüş hataları alıyorum :(
katma yazar Killroy, kaynak
Jct React dosyasına doğrudan kaynağımda gönderme yapmıyorum. Browserify gibi var reaksiyonu ile reaksiyona giriyorum var React = requ ('reaksiyon'); Browserify'ı küçültülmemiş sürümü kullanacak şekilde nasıl yapılandırabilirim?
katma yazar Raathigesh, kaynak
Cevap eklendi. Teşekkürler!
katma yazar Raathigesh, kaynak
Ortam değişkenini 'gelişme' olarak ayarlamak sorunu çözdü. Hızlı cevap için çok teşekkürler Benjamin Gruenbaum :)
katma yazar Raathigesh, kaynak
bir sorum var, React'i hiç kullanmıyorum ve hala bu hatayı alıyorum. Sunucumda npm kurulu bile değil. neden bu hatayı alıyorum?
katma yazar Dimitar, kaynak

8 cevap

NODE_ENV’in Benjamin Gruenbaum’un belirttiği gibi gelişmeye ayarlanması, sorunun çözüldüğünü belirtti.

set NODE_ENV=development
23
katma
Bunu projenin ana dizinindeki komut istemine yazdım. Ancak, hiçbir etkisi yok gibi görünüyor. (Windows 7 kullanıyorum)
katma yazar octavian, kaynak
"WTF neden bu hatayı alıyorum?" StackOverflow'a hızlıca bakmama izin verin - oh snap - Yorumlarda cevapladım. Hayatımın Hikayesi -_-
katma yazar Benjamin Gruenbaum, kaynak
Bu durumda Tepkiyi dev moduna geçirmenin diğer yolları senin için çalışmıyor
katma yazar Roman Starkov, kaynak
Gulpfile'de process.env.NODE_ENV = 'development' yapıyorum ama yine de genel bir mesaj alıyorum ??
katma yazar Labithiotis, kaynak
Ayrıca üretim modunda webpack/browserify ile birlikte ambalajladıysanız, bunu daha sonra değiştirmek size yardımcı olmaz; geliştirme modunda yeniden derlemeniz gerekir.
katma yazar El Yobo, kaynak
Komut isteminde set NODE_ENV = development komutunu çalıştırmayı deneyebilir misiniz?
katma yazar Raathigesh, kaynak

Bu sorunla Karma + Webpack ile karşılaşıyorsanız, aşağıdaki Webpack yapılandırması testleri çalıştırırken benim için sorunu düzeltti:

plugins: [
    new webpack.DefinePlugin({
        'process.env': {
            NODE_ENV: JSON.stringify('development')
        }
    })
]
11
katma

Sonunda BU ÇÖZDÜ.

Eğer benim gibiyseniz ve NODE_ENV ayarlamak için bu komutu kullandıysanız ve kelimenin tam anlamıyla çalışmadıysa, dosyaların tam sürümleri yerine react.min.js dosyasına bağlanıp bağlanmadığını kontrol edin.

Tam sürümleri bağlayın ve bir cazibe gibi çalışması gerekir. : D

8
katma
Tam sürüme bağlamak için neler yaptığınızı açıklar mısınız? ("./ node_modules/react/dist/react.js ') gerektirdiniz mi?
katma yazar kevin628, kaynak
html'nizde betik etiketi src niteliğini kullanarak, tam sürüme bağlanmıyordum, üretim sürümünü kullanıyordum. Bu, bower'ın nasıl kullanılacağını anlamadan önceydi, bu yüzden farkı anlamadım.
katma yazar davidawad, kaynak

Kodunuzu paketlemek için jspm kullanıyorsanız, 0.16.24 sürümünün, bu hatayı atan React'in küçültülmüş "üretim" sürümünü aldığını unutmayın. Geçici çözümüm jspm'yi 0.16.23'e düşürmekti.

edit Future versions of jspm will allow you to declare production vs. development versions (see jspm beta documentation)

7
katma

Bu sorunu yaşadım ve benim için küçültmeyi devre dışı bırakmam ya da tepki kaynağı kullanmama gerek yoktu. Komut dosyası sadece kök öğeden önce yükleniyordu. Bu yüzden sadece komut dosyası başının dışına ve dizin dosyası kaynak kodunda div altında taşındı ve bu düzeltti.

İndex.jade'mi bundan değiştirdi:

html
 head
   title Super coo site
   script(src="bundle.js")
 body
   div#root

Buna:

html
 head
   title Super coo site
 body
   div#root
   script(src="bundle.js")
4
katma

Render yöntemim undefined döndürdüğünde bu hatayı aldım;

render() {
    let view;
   //Not paying attention and slip a case where view won't get assigned a value
    if(this.props.foo == 'hello') {
        view = 
    }
    else if(this.props.foo == 'bye') {
        view = 
    }
    return view;
}

This.props.foo 'merhaba' olduğunda bu hatayı tetikler

1
katma
Bu doğrudur, henüz oluşturulmamış veya tanımlanmamış render fonksiyonunda bir değişken kullanıp kullanmadığınızı kontrol edin, bu gerçekten yanıltıcı bir hata mesajıdır, ancak bu benim için işe yarar.
katma yazar Med7at, kaynak

Oluşturmaya çalıştığınız DOM öğesini kontrol ettiniz mi? Aptalca bir hata nedeniyle daha önce bu hatayı vardı. En kötü yanı, paketin küçültülmüş olmasıdır. kimliği öğesi aynı değil

Index.html


 <div id="ds-app"></div>

app.jsx


React.DOM.render(, document.getElementById('app'))
1
katma

sürüm 15.2 'den itibaren, üretim Yanıt hata mesajlarını ( NODE_ENV = üretim ) şimdi orijinal, anlaşılmamış hatayı görebileceğiniz ziyaret edebileceğiniz bir URL içerir.

https://twitter.com/dan_abramov/status/748969886433546240

Bu hata mesajlarına erişmek için React 15.2'ye yükseltmeyi düşünmelisiniz. Ek olarak, bazı üretim çökmesi raporlama araçları bu hataları otomatik olarak kaldırın senin için.

0
katma
Bu cevaba göre, özellikle bu konuyla gerçekten ilgili olduğu üretim modunda hata mesajlarından bahsettiğini belirtmek önemlidir.
katma yazar KendallB, kaynak