0

我正在尝试将 JS 和 JSX 文件(与 React.js 一起使用)组合在一个版本化的 all.js 文件中。

我当前的 Gulpfile:

var elixir = require('laravel-elixir');
elixir.config.sourcemaps = false;

elixir(function(mix) {
        mix
        .less([
                'app.less'
        ], null, 'resources/assets/less')
        .babel([
                'libs/**', //contains react.js among other libs (jquery, bootstrap)
                'app.js', //contains normal jquery
                'quiz/quiz.jsx'
        ], null, 'resources/assets/js')
        //.babel([
                //'quiz/quiz.jsx'
        //])
        .version(["css/app.css", "js/all.js"]);
});

输出:

[18:38:28] Starting 'default'...
[18:38:28] Starting 'less'...

Fetching Less Source Files...
   - resources/assets/less/app.less


Saving To...
   - public/css/app.css

[18:38:30] Finished 'default' after 1.91 s
[18:38:34] gulp-notify: [Laravel Elixir] Less Compiled!
[18:38:34] Finished 'less' after 6 s
[18:38:34] Starting 'babel'...

Fetching Babel Source Files...
   - resources/assets/js/libs/**/**/*
   - resources/assets/js/app.js
   - resources/assets/js/quiz/quiz.jsx


Saving To...
   - public/js/all.js <---- STUCK HERE

它已经卡在那里一段时间了,我不知道如何调试它。
用 scripts() 改变第一个 babel() 是可行的,但当然不会编译 JSX 文件(也不会抱怨它)。
在脚本(注释掉的 3 行)之后调用 babel 将正确编译 JSX 文件,但没有其他任何内容(它只会编译 JSX 并将其保存到 all.js)。

我怎样才能解决这个问题?

4

0 回答 0