2014-05-15 14 views
6

मैं स्रोत मानचित्र कैसे सक्षम करूं? मैं यह कर रहा हूँ:gulp, browserify, नक्शे?

var browserify = require("gulp-browserify") 

    gulp.task("compile:client", function() { 
    gulp.src("src/client/app.coffee", { 
     read: false 
    }) 
    .pipe(browserify({ 
     debug: true // THIS DOES NOTHING :(
     transform: ['coffeeify'], 
     extensions: ['.coffee'] 
    })) 
    .pipe(rename('app.js')); 
    }); 

आउच ... घूंट-browserify यह कहता है के लिए github page पर किसी कारण से: PLUGIN ब्लैकलिस्ट किया गया है।

मुझे यह नहीं मिला है ... फिर मुझे लगता है कि बिल्ली को मेरे कॉफ़ीस्क्रिप्ट फ़ाइलों के साथ ब्राउज़र का उपयोग करने का अनुमान है?

यूपीडी: हा! मैं गलत था: debug विकल्प काम करता है। यह सिर्फ आउटपुट जावास्क्रिप्ट फ़ाइल में स्रोत मानचित्र जानकारी चिपकता है। बहुत बढ़िया। फिर भी सवाल खुला रहता है: ब्लैकलिस्ट में यह प्लगइन क्यों?

उत्तर

3

यहाँ पर एक नज़र डालें:

https://github.com/gulpjs/plugins/issues/47

और यहाँ:

https://github.com/gulpjs/gulp/issues/369

अद्यतन:

मुझे नहीं लगता कि यह नीचे "गंदा" है।

var source = require('vinyl-source-stream'); 
var browserify = require('browserify'); 

var bundler = browserify('./js/index.js'); 

gulp.task('compile', function(){ 
    return bundler.bundle({standalone: 'noscope'}) 
    .pipe(source('noscope.js')) 
    .pipe(gulp.dest('./dist')); 
}); 
+0

यूप, लेकिन अन्य सभी समाधान गन्दा हैं। लगता है कि प्लगइन पर अभी भी कई लोग हैंगिन करते हैं, मुझे लगता है कि मैं उस तक चिपके रहूंगा, बेहतर तरीके से – Agzam

+0

टिप्पणियां अनुपयोगी हैं। मैं जवाब अपडेट करूंगा। –

+0

मुझे यह नहीं मिला :('noscope.js' क्या है? मैं अपनी स्थिति पर कैसे लागू करूं? मुझे अपनी फाइलों को कॉफ़ीफ़ाई करने और स्रोत-मानचित्र जोड़ने की आवश्यकता है यदि 'process.env.NODE_ENV ===" विकास " ' – Agzam

10

मैं एक समाधान नहीं मिला, वेब क्रॉल करके, और यह इस तरह दिखता है:

var browserify = require('browserify'); 
var gulp = require('gulp'); 
var exorcist = require('exorcist'); 
var source = require('vinyl-source-stream'); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 
var sourcemaps = require('gulp-sourcemaps'); // https://www.npmjs.org/package/gulp-sourcemaps 

gulp.task('browserify', function(){ 
    return browserify({ 
      entries: ['./file1.js'], 
      debug: true 
     }) 
     .bundle() 
     .pipe(exorcist('./output.js.map')) 
     .pipe(source('output.js')) 
     .pipe(gulp.dest('./')); 
}); 

gulp.task('together', ['browserify'], function() { 
    return gulp.src('output.js') 
    .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(concat('all-with-maps.js')) 
     .pipe(uglify()) 
    .pipe(sourcemaps.write('.', {addComment: true /* the default */, sourceRoot: '/src'})) 
    .pipe(gulp.dest('dist')); 
}); 

सुनिश्चित करें कि आप browserify स्थापित के हाल के एक संस्करण है (मैं आज के रूप में 5.10.0 का उपयोग करें) .. आपको {debug: true} को bundle() कॉल पर पास करने की आवश्यकता होती थी .. लेकिन यह सीधे browserify() पर ले जाया गया है।

ब्लैकलिस्टिंग के संबंध में: यह browserify() का उपयोग करने के लिए बेहतर माना जाता है, जैसा कि हम यहां करते हैं। ऐसा लगता है कि प्लगइन की कोई ज़रूरत नहीं है।