2014-09-29 18 views
6

इस दिन बहुत अधिक रहा है और मैं यह नहीं समझ सकता कि यह ठीक से काम कैसे प्राप्त करें। जैसा कि विषय से पता चलता है, मुझे इस सेटअप को काम करने में एक समय का नरक है।कॉफ़ीस्क्रिप्ट + ब्राउजरिफ़ + गुलप + उग्लिफ़

मेरे पास ब्राउज़रइफ़ का उपयोग करके कॉफ़ीस्क्रिप्ट में लिखा गया एक प्रोजेक्ट है। मैं कुछ गुलप बिल्ड कार्यों को लिखने की कोशिश कर रहा हूं जो उत्पादन के लिए आउटपुट को उभारा जाएगा .... सुंदर मानक।

gulp = require 'gulp' 
browserify = require 'browserify' 
source = require 'vinyl-source-stream' 
buffer = require 'vinyl-buffer' 
uglify = require 'gulp-uglify' 

# Bundle task 
gulp.task('bundle', -> 

    browserify(
    entries: ['./client/start.coffee'] 
    extensions: ['.coffee'] 
) 

    # Apply transforms and bundle 
    .transform('coffeeify') 
    .bundle() 
    .pipe(source('bundle.js')) 
    .pipe(buffer()) 
    .pipe(uglify()) 
    .pipe(gulp.dest('./build')) 
) 

# Run the tasks 
gulp.task('default', ['bundle']) 

अब यहाँ इस कोड को अधिकांश भाग के लिए ठीक काम करता है:

यहाँ मेरी gulpfile के लिए मेरे मौजूदा सेटअप है। कार्य को ठीक से चलाना सबकुछ बंडल करता है, और फिर यह उलग्ली चलाता है, जिसके परिणामस्वरूप bundle.js फ़ाइल को कम किया जाता है। जब मैं जे एस में .... मैं कंसोल में यह त्रुटि दिखाई जुड़ा हुआ साथ अपने नमूना HTML पृष्ठ चलाने समस्या है:

Uncaught SyntaxError: Invalid regular expression: /[ªµºÀ-ÖØ-öø-ˈ-Ë‘Ë -ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ÒÒŠ-Ô§Ô±-Õ–Õ™Õ¡-Ö‡×-תװ-ײؠ-يٮٯٱ-Û“Û•Û¥Û¦Û®Û¯Ûº-Û¼Û¿ÜÜ’-ܯÝ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽà¥à¥˜-ॡॱ-ॷॹ-ॿঅ-ঌà¦à¦à¦“-নপ-রলশ-হঽৎড়à§à§Ÿ-ৡৰৱਅ-ਊà¨à¨à¨“-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-àªàª-ઑઓ-નપ-રલળવ-હઽà«à« à«¡à¬…-ଌà¬à¬à¬“-ନପ-ରଲଳଵ-ହଽଡ଼à­à­Ÿ-ୡୱஃஅ-ஊஎ-à®à®’-கஙசஜஞடணதந-பம-ஹà¯à°…-ఌఎ-à°à°’-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-à²à²’-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-à´à´’-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-à·†à¸-ะาำเ-ๆàºàº‚ຄງຈຊàºàº”-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿá-á•áš-áá¡á¥á¦á®-á°áµ-á‚á‚Žá‚ -ჅჇáƒáƒ-ჺჼ-ቈቊ-á‰á‰-ቖቘቚ-á‰á‰ -ኈኊ-áŠáŠ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-áŒáŒ’-ጕጘ-ášáŽ€-áŽáŽ -á´á-ᙬᙯ-ᙿáš-áššáš -ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱá€-á‘á -á¬á®-á°áž€-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜá¥-ᥭᥰ-ᥴᦀ-ᦫá§-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-á°£á±-á±á±š-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-á¼á¼ -ὅὈ-á½á½-ὗὙὛá½á½Ÿ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-á¿Œá¿-á¿“á¿–-Ίῠ-Ῥῲ-ῴῶ-ῼâ±â¿â‚-ₜℂℇℊ-â„“â„•â„™-â„ℤΩℨK-ℭℯ-ℹℼ-â„¿â……-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-â·Žâ·-â·–â·˜-ⷞⸯ々-〇〡-〩〱-〵〸-〼ã-ã‚–ã‚-ã‚Ÿã‚¡-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿã€-䶵一-鿌ꀀ-ê’Œê“-ꓽꔀ-ꘌê˜-ꘟꘪꘫꙀ-ꙮꙿ-êš—êš -ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎêž-êž“êž -Ɦꟸ-ê ê ƒ-ê …ê ‡-ê Šê Œ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲê§ê¨€-ꨨꩀ-ê©‚ê©„-ê©‹ê© -ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ê«ê« -ꫪꫲ-ê«´ê¬-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-ï©­ï©°-龎ff-stﬓ-ﬗï¬ï¬Ÿ-ﬨשׁ-זּטּ-לּמּנּï­ï­ƒï­„ï­†-ﮱﯓ-ï´½ïµ-ï¶ï¶’-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Zï½-zヲ-하-ᅦᅧ-ï¿ï¿’-ï¿—ï¿š-ï¿œ]/: Range out of order in character class 

जब मैं uglify() कदम निकालते हैं, तो यह ठीक काम करता है ... सब कुछ है नियमित जावास्क्रिप्ट और पेज प्रस्तुत करता है .... कोई विचार? मदद के लिए अग्रिम धन्यवाद।

+4

जब मैंने esprima.js को ब्राउज़रify के साथ उपयोग करने का प्रयास किया तो मैं एक समान समस्या में भाग गया। मुझे नहीं पता कि 'gulp-uglify'' uglify' के विकल्पों को पास करता है, लेकिन मुझे इसे कार्य करने के लिए निम्न विकल्प सेट करना पड़ा: 'uglify ({output: {ascii_only: true}}) '। –

+1

वाह, लोगों को सच में Coffeescript भी कार्य धावक फ़ाइलों के लिए प्रयोग करते हैं? – undefined

+0

फ़ेलिक्स, जो काम करता था। मैं ईमानदारी से पूरी तरह से समझ नहीं पा रहा हूं कि यह विकल्प भी क्या करता है, लेकिन मुझे खुशी है कि यह तय है ... धन्यवाद। इसके अलावा @undefined, कॉफीस्क्रिप्ट चट्टानों। संभवतः कार्य धावक फ़ाइलों के लिए जरूरी नहीं है, लेकिन हमारे पास पूरी परियोजना है जिसमें स्थिरता अच्छी है। –

उत्तर

1

जैसा कि आपकी टिप्पणियों में बताया गया है, उत्तर uglifyJS पर ascii_only प्रॉपर्टी सेट कर रहा है। कहीं भी आपके सोर्स कोड में आप गैर असीसी अक्षरों का उपयोग कर रहे हैं जो कंप्रेसर प्रक्रिया करने की कोशिश कर रहा है, और यह उपर्युक्त त्रुटि के कारण समाप्त होता है। इस ध्वज को सेट करना उन अक्षरों को \ uxxxxx पैटर्न में परिवर्तित करता है।