2017-03-03 7 views
10
  • बिल्ड पाइपलाइन है: टाइपस्क्रिप्ट, ब्राउज़र, ब्राउज़रify-सीएसएस, uglify।
  • रनटाइम पुस्तकालय: प्रतिक्रिया, बूटस्ट्रैप।

मेरा आवेदन अब तक बहुत कम कार्यक्षमता है (इसलिए मैं पूछ रहा हूं कि यह मुझे बाद में काटने जा रहा है, भले ही यह अब के लिए काम करता है)। बाद में उस पर बड़ा (प्रतिक्रिया रूटर, redux, Auth0 जैसे अन्य js पुस्तकालयों, हो सकता है यहां तक ​​कि कुछ वास्तविक कार्यक्षमता।) मिल जाएगाuglify-js रिपोर्ट क्यों करें 'चेतावनी: आउटपुट 32000 वर्णों से अधिक है'?

मैं एक app.css कि शामिल है:

@import url("node_modules/bootstrap/dist/css/bootstrap.css"); 

मैं तो आयात कि में मेरी index.tsx साथ:

import './app.css'; 

यह सब में काम करने के लिए है कि मेरे HelloWorld घटक प्रदर्शित करता है "हैलो दुनिया" प्रतिक्रिया प्रकट होता है।

लेकिन, निर्माण के दौरान, कुरूप बनाना रिपोर्ट:

WARN: Output exceeds 32000 characters 

मैं इसे अनदेखा कर देना चाहिए? और यदि हां, तो इसे दबाने का कोई तरीका है?

uglify द्वारा उत्पादित फ़ाइल को देखते हुए यह दिखाता है कि ऐसा लगता है कि कोई लाइन नहीं है> 32000 वर्ण - अधिकांश रेखाएं केवल 32000 (3199 9 पर एक) पर कम हो जाती हैं।

लेकिन एक पंक्ति var css='/*!\n * Bootstrap v3.3.7 ...' है जो कि 120 के वर्ण लंबा है। मुझे लगता है कि उग्लिफी मुझे बताने की कोशिश कर रहा है, लेकिन बड़ा सौदा क्या है?

+2

यह [uglify विकल्प] में से एक है (https://www.npmjs.com/package/uglify-js#beautifier- विकल्प) – DavidG

उत्तर

5

डेविडजी की टिप्पणी के अनुसार, आप Uglify को max-line-len विकल्प के साथ इस बारे में शिकायत न करने के लिए कह सकते हैं।

लेकिन, आप केवल उस विकल्प को नहीं जोड़ सकते हैं, क्योंकि यह केवल तभी काम करता है जब आप कोड को "सुंदर" बनाते हैं। जो तब अन्य सामान करता है जो आप नहीं करना चाहते हैं।

इसका समाधान सौंदर्यीकरण को सक्षम करने के लिए -b विकल्प का उपयोग करना है, लेकिन फिर Uglify को वास्तव में सुंदर बनाने के लिए कहें। o_O

"scripts": { 
    "uglifyjs":"uglifyjs -b beautify=false,max-line-len=120000" 
} 

उपर्युक्त लाइन लंबाई 120K निर्धारित करेगा - जिसने चेतावनी को दूर कर दिया था।

हालांकि यह एक उत्तर से अधिक कामकाज है - यह मेरे प्रश्न के "मैं इसे कैसे दबा सकता हूं" का उत्तर देता हूं। मुझे अभी भी क्यों नहीं पता यह मुझे इसके बारे में चेतावनी दे रहा है - पुराने ब्राउज़र या जो भी हो, मुझे पता नहीं है।

+0

मोबाइल नेटवर्क पर डाउनलोड करने के लिए एक बड़ी जेएस फ़ाइल धीमी हो सकती है, एक बड़ी जेएस फ़ाइल पुराने उपकरणों के लिए पार्स धीमा भी हो सकता है। –

+1

चेतावनी फ़ाइल के आकार के बारे में नहीं है - यह एक पंक्ति की लंबाई के बारे में है। अगर मैं उस बड़ी लाइन को लेता हूं और इसे कई लाइनों में तोड़ देता हूं - अंत परिणाम वास्तव में एक * बड़ी * फाइल होगी जो डाउनलोड और पार्स करने के लिए धीमा हो जाएगा - फिर भी चेतावनी दूर हो जाएगी। – Shorn

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