Javascript ES6工作流,仅用于带有browserify的生产构建

Javascript ES6工作流,仅用于带有browserify的生产构建,javascript,ecmascript-6,babeljs,workflow,browserify,Javascript,Ecmascript 6,Babeljs,Workflow,Browserify,我的目标是为我们的javascript文件设置一个新的工作流,其中包含两个不同的版本 一个开发建筑,它: 不传输到ES5,允许从浏览器检查器进行更轻松的调试 从多个ES6模块创建单个bundle.js文件 一个生产构建: 传输到ES5 缩小 创建一个bundle.js 我有一个基本的生产构建,它通过以下任务实现我想要的 gulp.task('build-prod', function () { browserify('src/js/app.js') .transform(

我的目标是为我们的javascript文件设置一个新的工作流,其中包含两个不同的版本

一个开发建筑,它:

  • 不传输到ES5,允许从浏览器检查器进行更轻松的调试
  • 从多个ES6模块创建单个bundle.js文件
一个生产构建:

  • 传输到ES5
  • 缩小
  • 创建一个bundle.js
我有一个基本的生产构建,它通过以下任务实现我想要的

gulp.task('build-prod', function () {
    browserify('src/js/app.js')
    .transform(babelify.configure({presets: ["es2015"]}))
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('build/assets/js/'))
})
但是我不知道如何使用browserify来创建一个js文件,而不需要先传输到es5。我本以为我能做像这样的事情

gulp.task('build-dev', function () {
    browserify('src/js/app.js')
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('build/assets/js/'))
})
但是我得到了以下错误:SyntaxError:“import”和“export”只能与“sourceType:module”一起出现。

有什么方法可以让browserify工作吗?如果没有,我如何才能实现我的目标

我见过一些工作流程,它们直接形成一个源文件夹而不进行编译,然后将所有内容(包括html和php文件)复制到构建文件夹中。问题是我们使用wordpress,并且有多个文件夹和所有wordpress文件似乎有点过分了


另一种可能性是,我也可以根本不编译,但这意味着我必须更改标题以根据构建加载不同的js文件,这并不理想,除非有办法通过gulp任务将其自动化。

您需要使用gulp汇总,browserify AFAIK,仅支持commonjs导入。