1
gulpと反応するjsxコードをコンパイルする際に問題があります。私はそれが変換んes2015コードを置くときJSXコードを変換しないbabel-preset-reactのGulp babel
"devDependencies": {
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2"
},
"dependencies": {
"react": "^15.4.0",
"react-dom": "^15.4.0"
}
私のパッケージJSONファイルに
const gulp = require('gulp');
const babel = require('gulp-babel');
gulp.task('js',() => {
return gulp.src('src/main.js')
.pipe(babel({
presets: ['es2015', 'react']
}))
.pipe(gulp.dest('build'));
});
gulp.task('default', ['js'],() => {
gulp.watch('src/main.js', ['js']);
});
- ここに私の
gulpfile.js
のように見えるものです。しかし、jsxコードは変換されません。
私は次のコードをコンパイルしようとしています
- 私もWebPACKので試してみましたbabel-preset-react
が動作しますが、それgulp-babel
とされていることが分かった
import Hello from './hello.jsx';
import World from './world.jsx';
[1,2,3].map(n => console.log(n + 1));
を、それが唯一のES6コードを遵守
'use strict';
var _hello = require('./hello.jsx');
var _hello2 = _interopRequireDefault(_hello);
var _world = require('./world.jsx');
var _world2 = _interopRequireDefault(_world);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
[1, 2, 3].map(function (n) {
return console.log(n + 1);
});
をJSXありませんそうではありません。前に私はコンパイルするために別のツールを使用していましたが、今回はgulp-babelを使用したいと思いますが、期待通りに動作していないようです。
どのようなヘルプも高く評価されます。
一気ファン使用一気-WebPACKのためのWebPACKを使用するか、何であります.js'なので、それはまさにそれがしていることです。 –
これは、定義済みの定義に従ってes6コードを変換していますが、なぜそれがreactJS jsxコードを変換していないのですか。何か不足していますか? – HADI
私は彼が意味することは、あなたのセットアップではインポートされたファイルが、単にエントリ( 'main.js')ファイルだけで処理されないということだと思います。 'main.js'にJSXを直接追加してみてください。私はgulpがwebpackと同じ方法でエントリーポイントから必要な/インポートされたファイルを読み込むつもりだと思った気がします。 –