我什至不能在浏览器中使用JSXTransformer.js
开发,因为我正在使用require.js
加载模块。当我运行时jsx --watch src/ build/
,实际上只对目录jsx->js
中的文件执行了一次转换src
,但随后,如果我更改src
目录中的任何文件,则什么都没有发生,没有翻译jsx->js
(就像jsx --watch
没有注意到任何更改一样)。
6 回答
我也发生了同样的事情。
试试这个命令行:
jsx --watch -x jsx src/ build/
我遇到了同样的问题,但这有帮助:
jsx --watch ./scr ./build
实际上,当您尝试从错误的文件夹启动命令或将错误的路径设置到要构建的文件夹(例如“src/”)时,就会发生这种情况。写入路径取决于您的目录结构。找出写入路径的最佳方法是打印命令“jsx --watch”,然后使用 Tab 获取所需目录的路径,或者确保终端中的当前文件夹包含 build/ 和 src/ 文件夹。
我遇到了同样的问题,也许是因为我不太了解“--watch”应该如何工作。我最初做的是:打开终端,输入“watch”命令(例如“jsx --watch /src /build”)。一旦我这样做,终端就会吐出类似“helloworld.js is built”的东西。都好。
然后我关闭了终端窗口,之后没有任何效果。
然后我重新打开终端,重新输入命令,watch 命令就起作用了。
然后我关闭了终端,它停止了工作。
我在这里感觉到了一种模式。JSX watch 命令是否仅在包含终端窗口打开时才处于活动状态?我认为“watch”是一个“设置一次就忘记它”的命令,但听起来它比这更短暂?
我在运行 Ubuntu 14.04 时遇到了这个问题。无论我传递什么参数, jsx 命令都不会给出任何反馈。我最终完全卸载节点并使用https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager上的 Ubuntu 说明进行安装
我以前在 nodejs v0.10.28 上,但现在我在 nodejs v0.12.7 上一切正常。
你有这个问题可能是因为文件的后缀是jsx
而不是js
jsx 命令无法识别.jsx
文件。
你可以像 user2038099 所说的那样做:
jsx --watch -x jsx src/ build/
-x, --extension 解析模块标识符时假定的文件扩展名
或者您可以将 src 文件夹中文件的后缀更改为.js
.