2015-11-16 2 views
1

Я пишу ES6 и используя babel для генерации генераторов Yeoman. Проблема заключается в том, что после компиляции в es5 для рендеринга файла мне нужно прикоснуться к нему.Генератор Yeoman с синтаксисом ES6

Основной файл генератор ES6

'use strict' 
import { NamedBase } from 'yeoman-generator' 

export default class MyGenerator extends NamedBase { 
    generateComponent() { 
    console.log('Name passed - ' + this.name)) 
    } 
} 

после компиляции

Я тогда нужно идти в созданный файл и измените последнюю строку из exports.default = MyGenerator; в module.exports = MyGenerator;, чтобы заставить его работать.

Что мне не хватает?

REF: мой текущий репо: https://github.com/GantMan/irrigate/tree/7a897d4669e479cdd7b5509b1807e0b26d5c6658

+0

Возможный дубликат [Babel 6 изменяет способ экспорта по умолчанию] (http://stackoverflow.com/questions/33505992/babel-6-changes-how-it-exports-default) – Bergi

ответ

1

Это связано с изменением Бабель 6.

Вы можете использовать this plugin, чтобы получить старое поведение export.

Возможно, стоит обсудить с сообществом бабелей. Это изменение довольно большое.

+0

эй, я дал это и это не сработало. Я не могу заставить этот плагин вести себя с последним babel :( – GantMan

0

Несмотря на то, что сообщение Саймона очень полезно для определения причины, оно не работает как решение. Я, наконец, признал, что любой ES5 JS просто пройдет через компилятор, и поэтому я могу заставить мою последнюю строку быть module.exports = ScreenGenerator, оставив ее в моем источнике.

Я думаю, TL: DR; - Если есть 1 небольшая часть, которая не компилируется, как вы хотите, быстрое исправление заключается в том, чтобы написать эту 1 часть, которую вы хотите скомпилировать.

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

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