2016-12-21 77 views
0

我有兩個.js文件,在同一個文件夾中。實施browserify的困難

app.js:

import {foo} from 'custom'; 
foo(); 

custom.js

function foo(){ 
    $('.nav.navbar-nav > li').on('click', function(e) { 
    $('.nav.navbar-nav > li').removeClass('active'); 
    $(this).addClass('active'); 
    }); 
} 

,我嘗試同時在相同的任務使用巴貝爾捆綁他們gulpfile.js。

gulp.task('app-scripts', function() { 
    return gulp.src('src/js/app.js') 
    .pipe(babel({ 
     presets: ["es2015"] 
    })) 
    .pipe(uglify()) 
    .pipe(gulp.dest('build/js')); 
}); 

有人可以幫助我在這個任務中執行browserify?我已經讀進來的文件,但不知道如何當我需要它在特定的形式應用它。

試過這個藏漢但沒有工作:

const gulp   = require('gulp'); 
    const babelify  = require('babelify'); 
    const browserify  = require('browserify'); 
    const source   = require('vinyl-source-stream'); 
    const buffer   = require('vinyl-buffer'); 
    const sourcemaps  = require('gulp-sourcemaps'); 

    var config = { 
    src:  './src/js/app.js', // тут исходник 
    out:  './build/js/app.js', // тут выходной файл 
    srcmaps: '/build/maps' // sourcemap'ы сохраняться будут сюда же 

    } 

    gulp.task('app-scripts', function() { 
    const bundler = browserify(config.src, {debug: true}) 
    .transform('babelify', {presets: ['es2015']}) 

return bundler.bundle() 
    .pipe(source(config.out)) 
    .pipe(buffer()) 
    .pipe(sourcemaps.init()) 
    .pipe(sourcemaps.write(config.srcmaps, {addComment: false})) 
    .pipe(gulp.dest('./build/js')); 
    }); 

回答

0

出於某種原因,方法上面列出,這是從文檔沒有工作, 但這種方法非常完美,這是藏漢從文檔:

gulp.task('app-scripts', function() { 
const bundler = browserify('./src/js/app.js', {debug: true}) 
    .transform(babelify.configure({presets: ["es2015"]})); 

return bundler.bundle() 
    .pipe(source('app.min.js')) 
    .pipe(buffer()) 
    .pipe(uglify()) 
    .pipe(sourcemaps.init()) 
    .pipe(sourcemaps.write('./', {addComment: false})) 
    .pipe(gulp.dest('./build/js')); 
});