【问题标题】:babel, browserify error : using removed babel 5 option base.stagebabel,browserify 错误:使用删除的 babel 5 选项 base.stage
【发布时间】:2018-04-17 07:01:36
【问题描述】:

当我运行grunt browserify 时出现此错误

ReferenceError: [BABEL] src/app.js: Using removed Babel 5 option: base.stage - 在解析文件时检查相应的 stage-x 预设 http://babeljs.io/docs/plugins/#presets: src/app.js

这是我的 gruntfile

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

我该如何解决?

【问题讨论】:

  • 请在此处添加项目/文件的链接或发布内容。我在这方面有很多经验,能够解决您的问题。
  • 您好,感谢您的浏览! github.com/lukasoktaba/run-test
  • 克隆项目时该项目可以工作。您尝试进行的更改是什么导致了问题?
  • 根据this,您可能正在导入整个存储库而不是特定文件。
  • 这是我将 app.js 保存在 src 中的时候。它不会复制到脚本中。

标签: javascript gruntjs browserify babeljs


【解决方案1】:

该错误意味着 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 应用了这些配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多