2016-08-14 10 views
8

क्या आपको स्टोर्स में एक प्रतिक्रिया मूल ऐप को तैनात करने से पहले console.log() कॉल हटा देना चाहिए? क्या console.log() कॉल कोड में रखे गए हैं तो क्या कुछ प्रदर्शन या अन्य समस्याएं मौजूद हैं?प्रतिक्रिया मूल ऐप से console.log को हटा रहा है

क्या कुछ कार्य धावक के साथ लॉग को हटाने का कोई तरीका है (इसी तरह से वेब-संबंधित कार्य धावक जैसे ग्रंट या गुलप)? हम अभी भी उन्हें अपने विकास/डिबगिंग/परीक्षण चरण के दौरान चाहते हैं लेकिन उत्पादन पर नहीं।

धन्यवाद!

उत्तर

5

मानना ​​है कि सबसे अच्छा अभ्यास जैसे बयानों में अपने डिबग कोड रैप करने के लिए है ...

if(__DEV__){ 
    console.log(); 
} 

इस तरह, यह केवल तब चलता है जब आप बंडल या एमुलेटर भीतर चला रहे हैं।

if (!__DEV__) { 
    console.log =() => {}; 
} 

इसलिए हर console.log जैसे ही __DEV__ सच नहीं है अवैध होगा: अधिक जानकारी यहाँ ... https://github.com/facebook/react-native/tree/master/packager#pathtomodulenamemapbundle-query-params

22

ठीक है, आप हमेशा की तरह कुछ कर सकते हैं।

+2

यह क्लीनर है, और स्वीकार्य उत्तर होना चाहिए। बस सुनिश्चित करें कि ये पंक्तियां बाकी सब से पहले चलती हैं। – csotiriou

+0

@csotiriou: क्या इसका मतलब सभी आयात से पहले App.js के शीर्ष पर होगा? – raarts

+0

@ डार्ट्स हां। हालांकि मुझे लगता है कि देशी प्रतिक्रिया प्रतिक्रिया स्वचालित रूप से कर रही है, लेकिन केवल डिफ़ॉल्ट रिलीज के लिए बनाता है। एक्सकोड में, भले ही मैं कस्टम रिलीज बिल्ड जोड़ूं, फिर भी यह लॉग छुपा नहीं जाता है। फिर भी एक विकल्प खोजने की कोशिश कर रहा है। – csotiriou

6

कोलाहल transpiler निम्नलिखित प्लगइन के साथ आप के लिए console बयान निकाल सकते हैं:

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

संपादित .babelrc:

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

और console बयान अपने कोड से बाहर निकाल दिया जाता है।

स्रोत: https://hashnode.com/post/remove-consolelog-statements-in-production-in-react-react-native-apps-cj2rx8yj7003s2253er5a9ovw

+3

इसका उपयोग करने के लिए बेहतर - डीवी के बजाय इसे समर्पित करने के लिए बचाएं। –

+0

मैंने कोशिश की लेकिन मेरी निर्देशिका में .babelrc फ़ाइल नहीं मिली –

+0

@ जयकृष्णन मेनन तो जाहिर है कि आपको .babelrc बनाना है, और सेटअप लेबल लेबलर – adam

संबंधित मुद्दे