2015-11-05 2 views
4

Простите меня, если я что-то очевидное отсутствую, я относительно новые для JavaScript, ES2015 и т.д.Бабель не трансформирующие декораторы

У меня есть глоток задача, чтобы запустить gulp-babel над моей Aurelia приложения. Все работает и работает, за исключением файлов, содержащих декораторы

эти файлы (@inject Аурелии) выплюнуть ту же ошибку в глотке-уведомит:

Error: (path-to-file)/nav-bar.js: Property right of AssignmentExpression expected node to be of a type ["Expression"] but instead got "Decorator"

Я не совсем уверен, как начать разрешать это. Моя задача выглядит следующим образом:

gulp.task('build-system', function() { 
    return gulp.src(paths.source) 
      .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")})) 
      .pipe(changed(paths.output, {extension: '.js'})) 
      .pipe(sourcemaps.init({loadMaps: true})) 
      .pipe(babel(compilerOptions)) 
      .pipe(sourcemaps.write({includeContent: true})) 
      .pipe(gulp.dest(paths.output)); 
}); 

и мой compilerOptions:

module.exports = { 
    moduleIds: false, 
    comments: false, 
    compact: false, 
    presets: ['es2015'], 
    plugins: ['syntax-decorators', 'transform-decorators'] 
}; 

любое понимание было бы весьма признателен!

ответ

6

Я считаю, что это проблема с Babel v6. (что подразумевается вашим presets: ['es2015'])

Если вы вернетесь к babel v5.x (как указано в скелете), он должен работать.

Это the decorator issue в экземпляре Babel Phabricator. Это может быть некоторое время, прежде чем оно будет установлено на основе this reply.

+0

Спасибо @MichaelMalone. Деинсталляция 'gulp-babel', а затем установка' gulp-babel @ 5.3.0' исправила проблему! Рад узнать, что это было не то, что я недопонимал. – Jonesopolis

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