实施browserify的困难

时间:2016-12-21 22:26:41

标签: npm gulp ecmascript-6 browserify babeljs

我在同一个文件夹中有两个.js文件。

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');
  });
}

我尝试在同一任务中使用babel时将它们捆绑在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'));
  });

1 个答案:

答案 0 :(得分:0)

由于某种原因,上面列出的方法,从文档中没有用, 但这种方法运作得很好,它也来自文档:

pow(num, N)