首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gulp、webpack和babel-loader:未能编译jsx

使用gulp、webpack和babel-loader:未能编译jsx
EN

Stack Overflow用户
提问于 2016-11-10 23:25:46
回答 1查看 444关注 0票数 1

UPDATEvue-表-2现在已经被预编译,所以不需要加载器。对于templates选项,建议使用范围槽,这也不需要任何特殊设置

我正在使用gulp、webpack和babel-加载程序来构建一些文件(vue-tables 2):

代码语言:javascript
复制
gulp.task('scripts-vue-tables', function() {
    gulp.src('node_modules/vue-tables-2/index.js')
        .pipe(webpackstream({
                output: {
                    path: __dirname,
                    filename: "vue-tables-2.js",
                    library: 'VueTables2',
                    libraryTarget: 'var'
                }
            }
        ))
        .pipe(gulp.dest('public/vendor/vue-tables-2/js/'));
}

webpack.config.js中,我包括:

代码语言:javascript
复制
loaders: [
        {
            test: /\.jsx?$/,
            loader: 'babel-loader',
            query: {
                presets: ["latest", "react", "stage-0"],
                plugins: ["transform-vue-jsx"]
            }
        },
    ]

并在.babelrc中包含了相同的

代码语言:javascript
复制
{
  "presets": ["latest", "react", "stage-0"],
  "plugins": ["transform-vue-jsx"]
}

但是,运行scripts-vue-tables任务会产生错误:

代码语言:javascript
复制
Module parse failed: \node_modules\vue-tables-2\lib\template.jsx Unexpected token (15:7)
You may need an appropriate loader to handle this file type.

注意:总的来说,我尝试遵循概述的这里步骤。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-11 07:54:59

webpack.config.js是读取的文件,如果您使用webpack CLI接口,但是在您的Gulp示例中使用它,它将不会被使用。你可能会想要像

代码语言:javascript
复制
    .pipe(webpackstream(Object.assign({
        output: {
            path: __dirname,
            filename: "vue-tables-2.js",
            library: 'VueTables2',
            libraryTarget: 'var'
        },
    }, require('./webpack.config')))

加载Webpack配置和特殊的output逻辑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40538774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档