我正在尝试使用以下内容预编译我的 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;
最佳答案
看起来像是 React 中的一个错误。我刚刚提交了https://github.com/facebook/react/issues/1145我们会尽快解决这个问题。作为临时解决方法,您应该能够通过删除包含 @providesModule
的 react.js
的所有行来修复它。
关于reactjs - react : jsx watch changes compilation directory for react. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920546/