2015-10-07 10 views
5

से अजीब अक्षरों का निर्माण करना मैं एक परियोजना में Paper.js के बोवर पैकेज का उपयोग कर रहा हूं। मैं ब्राउजर के लिए प्रोजेक्ट तैयार करने के लिए गुलप का उपयोग कर रहा हूं। कुछ अक्षर हैं जो bower_components/कागज/जिले/कागज full.min.js में इस तरह दिखेगा, कर रहे हैं लेकिन,:Gulp Uglify Paper.js लाइब्रेरी

\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec... 

है कि इस तरह अंत Gulp के माध्यम से जाने के बाद:

ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮ... 

var gulp = require('gulp'); 
var stylus = require('gulp-stylus'); 
var uglify = require('gulp-uglify'); 
var concat = require('gulp-concat'); 
var browserify = require('browserify'); 
var reactify = require('reactify'); 
var source = require('vinyl-source-stream'); 
var jade = require('gulp-jade'); 
var nib = require('nib'); 
var del = require('del'); 

var cfg = require('./cfg.json'); 

var action = { 
    clean: function(cb){ 
    del([ 
     ['./', cfg.dir.root.dev].join('') 
    ], cb); 
    }, 
    concatLibs: function(){ 
    gulp.src([ 
     './bower_components/jquery/dist/jquery.min.js', 
     './bower_components/react/react.js', 
     './bower_components/when/es6-shim/Promise.js', 
     './bower_components/lodash/lodash.min.js', 
     './bower_components/postal.js/lib/postal.min.js', 
     './bower_components/oboe/dist/oboe-browser.min.js', 
     './bower_components/paper/dist/paper-full.min.js']) 
     .pipe(uglify()) 
     .pipe(concat('lib.js')) 
     .pipe(gulp.dest(['./', cfg.dir.root.dev, cfg.dir.type.js].join(''))); 
    }, 
... 
:

Uncaught SyntaxError: Invalid regular expression: /[ªµºÀ-ÖØ-öø-ˈ-Ë‘Ë -ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-Ρ[Lots more strange characters] Range out of order in character class

यहाँ के एक कंसोल त्रुटि में परिणाम मेरी घूंट फ़ाइल की एक प्रासंगिक हिस्सा है

मैं इस प्रक्रिया के इस हिस्से के लिए समस्या अलग-थलग पड़ गए हैं:

.pipe(uglify()) // in the concatLibs action 

है यही कारण है, इस लाइन असामान्य वर्ण उत्पन्न नहीं करता है बाहर टिप्पणी करने और एक कंसोल त्रुटि में परिणाम नहीं है।

uglify() विधि seems to be the canonical one, इस तरह की आवश्यकता है: var uglify = require('gulp-uglify')। तो समस्या क्या है? uglify() क्यों कारण है?

+0

मैं सुझाव दूंगा कि आप paper.js के un-minified संस्करण का उपयोग करें और देखें कि क्या होता है, यह निश्चित रूप से अजीब दिखता है। –

+0

@ggggt हां, मैंने एक ही परिणाम के साथ गैर-minified संस्करण की कोशिश की। क्या आप समस्या को डुप्लिकेट करने में सक्षम हैं? –

+0

मैं त्रुटि को पुन: उत्पन्न नहीं कर सका। मैंने इसे अपनी लिपि में इंजेक्शन दिया। शायद आपको संस्करण की जांच करनी चाहिए। पेपर संस्करण का उपयोग किया जाता है "0.9.24" और uglify संस्करण "1.4.1" है। –

उत्तर

0

यहां समस्या यह है कि आप पहले से ही सीमित पुस्तकालयों को उभारा रहे हैं।

एक बेहतर तरीका तीसरे पक्ष के पुस्तकालयों को छूना नहीं होगा और केवल उन्हें ही मिलना होगा। इसका मतलब यह होगा कि जब भी संभव हो, आपको अपने libs के minified स्रोतों को शामिल करना चाहिए। अब आपके पास react.js और Promise.js के अपूर्ण संस्करण हैं।

प्रतिक्रिया और es6-shim एक छोटा संस्करण प्रदान करता है, जो bower install करते समय पहले से ही मौजूद है। इसे ठीक करने के लिए, अपने काम दिखना चाहिए:

... 
concatLibs: function(){ 
    gulp.src([ 
     './bower_components/jquery/dist/jquery.min.js', 
     './bower_components/react/react.min.js', 
     './bower_components/when/es6-shim/Promise.min.js', 
     './bower_components/lodash/lodash.min.js', 
     './bower_components/postal.js/lib/postal.min.js', 
     './bower_components/oboe/dist/oboe-browser.min.js', 
     './bower_components/paper/dist/paper-full.min. 
     .pipe(concat('lib.js')) 
     .pipe(gulp.dest(['./', cfg.dir.root.dev, cfg.dir.type.js].join(''))); 
    } 
... 

यह आपको एक lib.js के साथ ही न्यूनतम किया गया तृतीय पक्ष लाइब्रेरी के साथ अपने gulpfile.js करने के लिए एक कम से कम परिवर्तन के साथ की आपूर्ति करेगा।