2

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

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

我在子目录中有非缩小react.js文件(0.9.0)dev/js/lib。当它编译时,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;
4

1 回答 1

4

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

于 2014-02-20T23:52:00.830 回答