我正在尝试使用以下命令预编译我的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;
答案 0 :(得分:4)
看起来像React中的错误。我刚刚提交https://github.com/facebook/react/issues/1145,我们会尽快修复。作为临时解决方法,您应该可以通过删除包含react.js
的所有@providesModule
行来解决此问题。