2014-02-20 3 views
2

Я пытаюсь прекомпилировать мои React JSX файлы:React: JSX часы меняет каталог компиляции для react.js

jsx --watch dev/js/ public/js/ 

У меня есть не-уменьшенная react.js файл (0.9.0) в подкаталоге dev/js/lib , Когда он компилируется, источником React становится public/AutoFocusMixin.js. Наряду с переименованием источник «перемещается» в родительский каталог.

Это происходит только в том случае, если я использую неминифицированную версию Реагирования. Скомпилированный файл не оценивается. Я использую недопустимый источник для отладки.

У меня была аналогичная проблема с версией 0.8.0 - но вместо того, чтобы быть названным AutoFocusMixin, результирующий файл был назван $.js и также был в родительском каталоге.

Моим решением было вручную скопировать неминифицированный источник в нужное место.

Кто-нибудь придумал лучшее решение для этого или посмотрит, что я делаю неправильно?

-

Я предполагаю, что это вредоносный код, в источнике React (ниже). Я вижу, что он делает, но я не понимаю его цели. Я подтвердил, что файл, который я использую, представляет собой ядро ​​React без надстроек.

var AutoFocusMixin = { 
    componentDidMount: function() { 
    if (this.props.autoFocus) { 
     this.getDOMNode().focus(); 
    } 
    } 
}; 

module.exports = AutoFocusMixin; 
+0

Что касается причины для автофокусировки mixin: это там, потому что> IE9 не поддерживает атрибут, поэтому он заполняет его для вас. Он используется элементами формы React. – chenglou

+0

Этот вопрос кажется не по теме, потому что это вопрос поддержки для этой библиотеки. –

ответ

4

Похож на ошибку в реактиве. Я только что подал https://github.com/facebook/react/issues/1145, и мы постараемся скоро это исправить. В качестве временного обходного пути вы сможете исправить это, удалив все строки react.js, содержащие @providesModule.

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