使用babel-preset-env使用gulp-babel转换es6太慢了

时间:2017-10-28 08:42:49

标签: javascript gulp babeljs

我正在为公司的前端团队制定更好的工作流程。我们主要使用" normal"网站项目,所以没有SPA,大多是jquery或者有点VueJS,但是现在没有React或者其他任何东西。现在我们使用一个非常坚固的gulp工作流程,我喜欢。只有一个问题:我喜欢编写es6并使用babel-preset-env进行转换/自动修复等。

现在,我开始工作,但它有点慢,这是一个简化的测试用例:

输入文件

来自旧项目的一些concat文件,我通过lebab.io来确定它,大小约为237k。我的理由是,这是我们所做项目中可能出现的代码库的代表性大小(如LOC)。

-rw-r--r-- 1 foo staff 237K 27 Okt 19:53 foobar.js

gulpfile.js

const gulp = require("gulp");
const babel = require("gulp-babel");

gulp.task("js", () => {
    return gulp
        .src("./foobar.js")
        .pipe(
            babel({
                minified: true,
                comments: false,
                presets: [
                    [
                        "env",
                        {
                            targets: {
                                browsers: ["last 2 versions"]
                            }
                        }
                    ]
                ]
            })
        )
        .pipe(gulp.dest("./bundle.js"));
});

没有预设的gulp输出

[19:54:30] Finished 'js' after 1.42 s

我用相似的计时结果运行了几次,~1.4s;

gulp输出预设" env"

[19:55:37] Finished 'js' after 2.46 s

...在我们的观察任务中使用它有点太长了。

现在我的问题:是我应该期望使用预设env还是我的设置有问题?我想让我的同事们切换到es6语法,但如果构建过程等待太烦人(> 2s),我就不会发现它。

使用gulp是否有更好的方法来转换旧浏览器?我做错了吗?

0 个答案:

没有答案