2016-10-06 5 views
0

私のES6コードをES5にロールアップすることはできません。これは、メッセージWarning: Error transforming main.js with 'babel' plugin: It looks like your Babel configuration specifies a module transformer. Please disable it. If you're using the "es2015" preset, consider using "es2015-rollup" instead. See https://github.com/rollup/rollup-plugin-babel#configuring-babel for more information Use --force to continue.Grunt + rollup + babel設定の問題

マイ.babelrc

{ 
    "presets": [ 
    [ 
     "es2015-rollup", 
     { 
     "modules": false 
     } 
    ] 
    ], 
    "plugins": ["external-helpers"] 
} 

マイ.gruntfile

"use strict"; 
var babel = require('rollup-plugin-babel'); 

module.exports = function(grunt) { 

    grunt.initConfig({ 

    //... 

    rollup: { 
     options: { 
     plugins: function() { 
      return [ 
      babel({ 
       babelrc: false, 
       presets: ["es2015-rollup"] 
      }) 
      ]; 
     }, 
     }, 
     main: { 
     'dest': 'build/js/bundle.js', 
     'src' : 'src/js/main.js', 
     }, 
    }, 

    //... 

    }); 

    // Load the tasks 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-contrib-sass'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-notify'); 
    grunt.loadNpmTasks('grunt-postcss'); 
    grunt.loadNpmTasks('grunt-rollup'); 

    grunt.registerTask('default', [ 'rollup', 'watch' ]); 
    //... 
}; 

マイdevDependencies

"devDependencies": { 
    "autoprefixer": "^6.2.3", 
    "babel-plugin-external-helpers": "^6.8.0", 
    "babel-preset-es2015": "^6.16.0", 
    "babel-preset-es2015-rollup": "^1.2.0", 
    "grunt": "^0.4.5", 
    "grunt-babel": "^6.0.0", 
    "grunt-contrib-sass": "^0.9.2", 
    "grunt-contrib-uglify": "^0.11.0", 
    "grunt-contrib-watch": "^0.6.1", 
    "grunt-notify": "^0.4.3", 
    "grunt-postcss": "^0.7.1", 
    "grunt-rollup": "^0.8.0", 
    "rollup-plugin-babel": "^2.6.1" 
    } 

あなたが見ることができるように、私はes2015-rollupプリセットを使用していないをtrowingまま警告として、が示唆しています。もう一つは、プリセットを削除すると、コードがまったく変換されないということです。

答えて

0

pluginsオプションは、関数ではなく配列でなければなりません。ロールアップバージョンがちょうどes2015external-helpersプラグインであるため、

また、.babelrcに、あなたは、es2015代わりのes2015-rollupを使用する必要があります。

0

babelrc:falseを設定すると、設定で.babelrc設定ファイルが読み取られません。

はあなた.babelrcファイルを無視し、Gruntfile.js構成プラグインあなたのバベルでこれを試してみてください。

babel({ 
    babelrc: false, 
    presets: [["es2015",{modules:false}]], 
    exclude: ['./node_modules/**/*'], //make sure to point to your folder path 
    plugins: ["external-helpers"] 
})