2016-10-06 2 views
0

Я не могу преобразовать сводный код ES6 в ES5. Он остается trowing сообщение 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 config issue

Мои .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 предустановку и не es2015, как следует из предупреждения. Другое дело, что если я удалю пресеты, мой код вообще не будет переполнен.

ответ

0

plugins Опция должна быть массивом, а не функцией.

Кроме того, в .babelrc, вы должны использовать es2015 вместо es2015-rollup, так как версия Накопительный просто es2015 с external-helpers плагин.

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"] 
}) 

 Смежные вопросы

  • Нет связанных вопросов^_^