javascript - 使用 Gulp 运行 Webpack + Babel,但没有应用任何预设

标签 javascript node.js gulp webpack babeljs

我正在使用 Gulp 来运行 Webpack,因为一些对 Gulp 来说微不足道的事情对 Webpack 来说却很麻烦,例如多个输出。但是,babel-loader 似乎什么也没做。当我的脚本中有 JSX 时,我得到一个解析错误。当我使用 ES6/7 时,什么都没有改变。

这是 Gulp 任务:

gulp.task('js', function() {
    return gulp.src('js/*.js')
        .pipe(webpack({
            loaders: [{
                test: /.jsx?$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                  presets: ['es2015', 'stage-0', 'react']
                }
            }],
            output: {
                filename: '[name].js'
            }
        }))
        .pipe(gulp.dest('public/js'));
});

我做错了什么吗?

最佳答案

loaders 不应位于配置的顶层。它需要在 module 中 - 试试这个:

gulp.task('js', function() {
    return gulp.src('js/*.js')
        .pipe(webpack({
            module: {
                loaders: [{
                    test: /.jsx?$/,
                    loader: 'babel-loader',
                    exclude: /node_modules/,
                    query: {
                        presets: ['es2015', 'stage-0', 'react']
                    }
                }]
            },
            output: {
                filename: '[name].js'
            }
        }))
        .pipe(gulp.dest('public/js'));
});

关于javascript - 使用 Gulp 运行 Webpack + Babel,但没有应用任何预设,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35172914/

相关文章:

javascript - 匹配javascript中的两个数组或对象

javascript - mongolab 请求返回空查找结果

javascript - jQuery 如何在内容更改后获取 div 的高度

javascript - 以编程方式移动 Gridster 小部件

node.js - Nodejs 等待多个数据库调用

javascript - Passport Facebook 登录未将正确的 ID 保存到 Mongo DB

node.js - Gulp:并行运行多个 Node 脚本

javascript - Gulp watch() 不触发 less 进程

node.js - Travis-CI:安装在所有 VM 镜像上的 Node 版本能否与 node.js 镜像上的最新(稳定)相匹配?

javascript - Leaflet数据可视化框架导出为图像