React:jsx watch更改react.js的编译目录

时间:2014-02-20 21:58:36

标签: reactjs react-jsx

我正在尝试使用以下命令预编译我的React JSX文件:

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

我在子目录react.js中有非缩小的dev/js/lib文件(0.9.0)。编译时,React源变为public/AutoFocusMixin.js。在重命名的同时,源被“移动”到父目录。

仅当我使用非缩小版本的React时才会发生这种情况。编译后的文件不会缩小。我正在使用非缩小的源进行调试。

我在版本0.8.0中遇到了类似的问题 - 但不是命名为AutoFocusMixin,而是生成的文件名为$.js,并且也在父目录中。

我的解决方案是手动将非缩小的源复制到正确的位置。

有没有人为此提出更好的解决方案或看看我做错了什么?

-

我认为这是React源中的违规代码(如下所示)。我知道它的作用,但目的还不清楚。我确认我正在使用的文件是React核心没有附加组件。

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

module.exports = AutoFocusMixin;

1 个答案:

答案 0 :(得分:4)

看起来像React中的错误。我刚刚提交https://github.com/facebook/react/issues/1145,我们会尽快修复。作为临时解决方法,您应该可以通过删除包含react.js的所有@providesModule行来解决此问题。