无法使用babel 6.3.x的要求

时间:2015-12-24 17:44:34

标签: javascript gulp babeljs

我正在使用babel来创建我的gulpfile.babel.js

我正在使用此代码动态包含模块并导入它在babel 5.8.x中运行的任务但在升级到6.3.x后它停止工作

我无法找出错过哪个插件,请帮忙。 请假设下面的代码不包含拼写错误。

我正在使用

"babel-preset-es2015": "^6.3.13" 
"gulp-babel": "^6.1.1"

.babelrc内容

{
  "presets": ["es2015"]
}

吞:

import gulp from "gulp";
import del from "del";
import { default as runSequence} from "run-sequence";

let basePath = "modules/";
['filename1', 'filename2'].forEach((moduleName) => {
    require(`./${basePath}${moduleName}`).apply(this, [gulp, runSequence, del]);
});

// Tasks are defined in the modules 'required' above

我的filenameX.js文件看起来像这样

export default function(gulp, runSequence, del) {
    gulp.task("clean", del.bind(null, ["./temp/"]));
}

1 个答案:

答案 0 :(得分:0)

使用

可以在babel 6.3.x中实现默认的require功能
['filename1', 'filename2'].forEach((moduleName) => {
    require(`./${basePath}${moduleName}`).default.apply(this, [gulp, runSequence, del]);
});

Babel 6.x已经删除了一些CommonJS互操作行为,并且转换为ES5的ES6模块现在将其默认值暴露为.default。

参考文件https://phabricator.babeljs.io/T2683