2014-03-30 24 views
6

即使对于开发,我也无法在浏览器中使用JSXTransformer.js,因为我使用require.js来加载模块。 当我运行jsx --watch src/ build/,实际上只是一个jsx->js转换对文件src目录执行的,但后来,如果我更改了src目录中的任何文件,什么都没有发生,没有翻译jsx->js(例如,如果jsx --watch没有发现任何变化)。React - jsx --watch在第一次转换后什么都不做

+0

同样的事情正在发生在我身上。此工作只有一次: jsx --watch ../src/jsx ../src/js – pcorcoran

+0

您是否运行r.js优化程序或除JSX编译以外的任何其他JS相关的生成工具? – cantera

回答

20

同样发生在我身上。

试试这个命令行:

jsx --watch -x jsx src/ build/ 
1

我有同样的问题,但这种帮助:

JSX --watch ./scr ./build

0

其实这当您尝试从错误的文件夹中启动命令或将错误的路径设置为要构建的文件夹(例如“src /”)时,会发生这种情况。写路径取决于你的目录结构。找到写入路径的最佳方法是打印命令“jsx --watch”,然后使用Tab来获取所需目录的路径,或者只需确保终端中的当前文件夹包含build /和src /文件夹。

0

我遇到了同样的问题,也许是因为我不太了解“--watch”应该如何工作。我最初做的是这样的:打开终端,打入“watch”命令(例如“jsx --watch/src/build)”。一旦我做到了,终端就会吐出类似“helloworld.js”的内容。所有优秀的。

然后我关闭了终端窗口和后毫无效果。

然后我重新打开终端,再键入的命令,watch命令工作。

然后我关闭该终端,并停止工作

我在这里感应一个模式。JSX监视命令仅在包含终端窗口打开时处于活动状态吗?假设“看”是一个“设置一次,忘记它”的命令,但它听起来像是比这更短暂?

+0

这是你应该运行一次,但如果你关闭终端,你杀了这个过程。所以你应该运行命令,并尽量减少终端。 –

0

你有这个问题可能是因为文件的后缀是jsx而不是js jsx命令不能识别.jsx文件。

为user2038099说,你可以这样做: jsx --watch -x jsx src/ build/

-x,--extension文件扩展名解析模块标识符

,或者你可以更改文件的后缀时,假设src文件夹到.js

https://github.com/facebook/react/issues/4269