无法使es6与Gulp一起工作
这让我疯狂,所以我希望有人可能会看到我失踪的东西。 提前谢谢你的帮助。
我有一个gulp文件,我已经通过npm,babel-core,babel-preset-es2015,babel-preset-react进行安装。 从网上调查和寄予厚望,即使这可能是不对的,我已经将gulp文件改名为gulpfile.babel.js,并且我已经创建了一个.babelrc文件。
{
  "presets": ["es2015"]
}
我正在使用浏览器同步,当我启动gulp任务时会加载html文件,但是我所拥有的index.js包含'import React ....'。 这个文件导致JS控制台中出现'Uncaught SyntaxError:Unexpected token import'错误。
我认为我有es2015 npm包应该照顾ES6语法?
在吞食文件中,我认为的任务就是要照顾到这一点;
// convert jsx to JS
gulp.task('babelFiles', function() {
    return gulp.src('js/*.(jsx|js)')
        .pipe(babel({
            compact: false
            }))
        .pipe(gulp.dest('js'))
        .pipe(browserSync.reload({
            stream: true
        }))
});
负责启动此项任务的吞噬任务是:
// Default task
gulp.task('default', ['babelFiles', 'browserSync']);
我很困惑这里有什么可能是错的?
任何想法将非常感激!
有两个问题:
Gulp似乎不支持你的文件扩展名掩码语法:
gulp.src('js/*.(jsx|js)') // not working
gulp.src('js/*.{js,jsx}') // working
js目录管道到js目录,但由于没有匹配,因为问题(1)它让你相信巴贝尔不工作 更新
  Gulp使用glob语法来匹配文件 - 根据glob语法,项目数量的限定符应该包含在( | )之前 - 在我们的例子中,下面的语法是有效的 
gulp.src('js/*.@(js|jsx)')
  其中@表示@之后的模式恰好匹配一个模式。 
在你的情况下,没有提供限定词
链接地址: http://www.djcxy.com/p/40133.html