2017-07-30 11 views
0

フロントエンドの開発にES2016の機能を使用したいと思います。特にimportdecoratorsは興味深いです。フロントエンドの開発のためのインポート

私は小さなテストプロジェクトを開始し、importに含まれるクラスのファイルをいくつか作成しました。 Babelは正しいファイルを生成しますが、ブラウザでは動作しないrequire文が含まれています(私が知る限り)。

すべてのファイルを1つのjavascriptファイルに連結するのに適したツールはありますか?または私のためにこれを行うgulpのためのいくつかの図書館?

+0

どのモジュールバンドラで

  • Browserify
  • のWebPACK
  • ロールアップ

gulpビルド:あなたは、ブラウザで使用可能なバンドルを作成するためのいくつかのモジュールバンドラが必要ツール(gulp/webpack/etc)を使用しますか? –

+0

@MaximKuzmin現在gulpと私はこれにとどまりたいです。私はすべてのビルドスクリプトを書き直したいとは思っていませんが、ギャルプのための良いライブラリがない場合、 –

答えて

2

BabelES2016コードをCommonJSフォーマットに変換するため、ブラウザではサポートされていないため、エラーが発生します。 gulp-rollup

// setup by `npm i gulp gulp-rollup rollup-plugin-babel babel-preset-es2016 babel-plugin-external-helpers --save-dev` 

// gulpfile.js 
var gulp  = require('gulp'), 
    rollup  = require('gulp-rollup'); 

gulp.task('bundle', function() { 
    gulp.src('./src/**/*.js') 
    // transform the files here. 
    .pipe(rollup({ 
     // any option supported by Rollup can be set here. 
     "format": "iife", 
     "plugins": [ 
     require("rollup-plugin-babel")({ 
      "presets": [["es2016", { "modules": false }]], 
      "plugins": ["external-helpers"] 
     }) 
     ], 
     entry: './src/main.js' 
    })) 
    .pipe(gulp.dest('./dist')); 
}); 
+0

@ pablo-christianoを明らかに変更する必要があります。https://www.npmjs.com/package/babel-preset-es2016 babel-preset-es2015 –

+0

ちょうど更新された回答 –

+0

あなたの助けてくれてありがとう!これはまさに私が必要なもののように見えます。私は新生児です。 'stage-2'プリセットと' transform-decorators-legacy'プラグインを使用すると競合が起こりますか? –

関連する問題