babel, browserify error : using removed babel 5 option base.stage

babel, browserify error : using removed babel 5 option base.stage

我在 运行 grunt browserify

时收到此错误

ReferenceError: [BABEL] src/app.js: Using removed Babel 5 option: base.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets while parsing file: src/app.js

这是我的 g运行t 文件

module.exports = function(grunt) {


  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    browserify: {
        main: {
          options: {
            browserifyOptions: {
              debug: true
            },
            transform: [["babelify", { "stage": 1 }]]
          },
          src: 'src/app.js',
          dest: 'scripts/app.js'
        }
    },
    watch: {
      files: [ 'src/**/*.js' ],
      tasks: ['browserify'],
      options: {
          spawn: false,
        },
    },
    connect: {
      target:{
            options: {
                port: 9001
            }
        }
    },
    bower: {
        flat: { /* flat folder/file structure */
            dest: 'scripts',
            options: {
                debugging: true
            }
        }
    }

  });

  grunt.loadNpmTasks('grunt-contrib-connect');
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-browserify');
  grunt.loadNpmTasks('main-bower-files');

  grunt.registerTask('default', [ 'bower', 'connect', 'watch']);
  grunt.registerTask('build', [ 'clean', 'bower', 'copy', 'uglify' ]);

};

这是我的 babelrc

  {
    "presets": ["stage-1","es2015"]
  }

我该如何解决?

该错误意味着 babelify 的 grunt 定义已过时且无效。

它不再接受名为 stage 的选项。

我会尝试

 browserify: {
        main: {
          options: {
            browserifyOptions: {
              debug: true
            },
            transform: [["babelify",  {presets: ["stage-1", "es2015"]}]]
          },
          src: 'src/app.js',
          dest: 'scripts/app.js'
        }
    },

{stage: 1}替换为{presets: ... }

或者 - 因为您在 .babelrc 中定义了它,您也许可以将其完全删除。我假设 babelify 应用了这些配置。