gulp+browserify进行前端自动化以及打包问题

发布于 2022-09-07 21:07:23 字数 2210 浏览 22 评论 0

修改代码后编译特别慢,找了很多方法依然不行,忘指点一下。

var browserify = require('browserify');
var watchify = require('watchify');
// var bundleLogger = require('../util/bundleLogger');
var gulp = require('gulp');
// var handleErrors = require('../util/handleErrors');
var source = require('vinyl-source-stream');
var config = require('../config').browserify;
var buffer = require('vinyl-buffer');
var es3ify = require("gulp-es3ify");

gulp.task('browserify', ['bableConvert'], function(callback) {

var bundleQueue = config.bundleConfigs.length;

var browserifyThis = function(bundleConfig) {

var bundler = browserify({
  // Required watchify args
  cache: {}, packageCache: {}, fullPaths: false,
  // Specify the entry point of your app
  entries: bundleConfig.entries,
  // Add file extentions to make optional in your requires
  extensions: config.extensions,
  // Enable source maps!
  debug: config.debug
});

var bundle = function() {
  // Log when bundling starts
  // bundleLogger.start(bundleConfig.outputName);

  return bundler
    .bundle()
    // Report compile errors
    // .on('error', handleErrors)
    // Use vinyl-source-stream to make the
    // stream gulp compatible. Specifiy the
    // desired output filename here.
    .pipe(source(bundleConfig.outputName))
    
    .pipe(buffer())
    .pipe(es3ify())
    // Specify the output destination
    .pipe(gulp.dest(bundleConfig.dest))
    .on('end', reportFinished);
};

if(global.isWatching) {
  // Wrap with watchify and rebundle on changes
  bundler = watchify(bundler);
  // Rebundle on update
  bundler.on('update', bundle);
}

var reportFinished = function() {
  // Log when bundling completes
  // bundleLogger.end(bundleConfig.outputName);

  if(bundleQueue) {
    bundleQueue--;
    if(bundleQueue === 0) {
      // If queue is empty, tell gulp the task is complete.
      // https://github.com/gulpjs/gulp/blob/master/docs/API.md#accept-a-callback
      callback();
    }
  }
};

return bundle();

};

// Start bundling with Browserify for each bundleConfig specified
config.bundleConfigs.forEach(browserifyThis);
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文