首页 > 解决方案 > Gulp concat,uglify 处理 ES6 导出的库

问题描述

我使用Gulp来合并一些 javascript 以及丑化它们。当我尝试使用countUp(也可以是其他脚本)执行此操作时,我遇到了错误。

未捕获的 SyntaxError:意外的令牌“导出”

它尝试将 javascript 导出回脚本标记。现在我的 javascript 文件不仅仅是一个脚本,而是很多。

我怎样才能让它工作?有没有一种工具可以将其转换为通用 js,或者是否有更好的方法将它包含在 gulp 中?

脚本

我的 gulp 文件的一部分如下所示:

function script() {
  return gulp
    .src(js.src)
    .pipe(concat(js.filename))
    .pipe(gulp.dest(js.dest))
    .pipe(uglify())
    .pipe(rename({ extname: ".min.js" }))
    .pipe(gulp.dest(js.dest));
}

标签: javascriptgulpexport

解决方案


您可以使用 gulp 任务将 es6 模块转换为其他类型:

const babel = require('gulp-babel'),

gulp.task('es6-commonjs',['clean-temp'], function(){
  return gulp.src(['app/*.js','app/**/*.js'])
    .pipe(babel({ modules: 'common' }))
    .pipe(gulp.dest('dest/temp'));
});

然后在你的 gulp 管道中使用这个任务。更多信息在这里


推荐阅读