Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bash脚本没有';不要在代码包钩子里工作_Javascript_Bash_Reactjs_Codekit_React Jsx - Fatal编程技术网

Javascript Bash脚本没有';不要在代码包钩子里工作

Javascript Bash脚本没有';不要在代码包钩子里工作,javascript,bash,reactjs,codekit,react-jsx,Javascript,Bash,Reactjs,Codekit,React Jsx,从终端使用,我可以运行以下脚本将我的JSX编译成JavaScript: jsx ./assets/src/jsx ./assets/build/js 然而,当我尝试将同一行代码放入CodeKit钩子时,什么都没有发生。将其替换为mkdir./dummy可按预期工作,并验证工作目录是否正确。提供到JSX(/usr/local/bin/JSX)或资产的绝对路径似乎没有什么区别。显然,由于mkdir起作用,我知道钩子被正确触发 为了验证它是否有效,我还尝试缩小一个虚拟JavaScript文件,但同样

从终端使用,我可以运行以下脚本将我的JSX编译成JavaScript:

jsx ./assets/src/jsx ./assets/build/js
然而,当我尝试将同一行代码放入CodeKit钩子时,什么都没有发生。将其替换为
mkdir./dummy
可按预期工作,并验证工作目录是否正确。提供到JSX(
/usr/local/bin/JSX
)或资产的绝对路径似乎没有什么区别。显然,由于
mkdir
起作用,我知道钩子被正确触发

为了验证它是否有效,我还尝试缩小一个虚拟JavaScript文件,但同样没有效果:

uglifyjs ./assets/src/jsx/dummy.js

我完全被难住了。有人成功地集成了JSX和CodeKit吗?

好的,多亏@Etan和@shelleter在bash调试方面的帮助,我成功地让它工作了。我需要为节点设置
/usr/bin/local
。最后一个脚本将JSX编译为JavaScript,然后将其缩小。这将使在CodeKit中使用ReactJS更加容易

# compile JSX to JavaScript 
/usr/local/bin/jsx ./assets/src/jsx ./assets/build/js
# uglify
/usr/local/bin/uglifyjs -o ./assets/build/js/scripts-min.js ./assets/build/js/scripts.js

codekit是否提供它运行的命令的日志?或运行命令时的任何输出(错误或其他)?如果您在告诉
CodeKit
运行命令时观看
top
ps
,您是否看到流程正在启动的迹象?我正在搜索任何日志,目前还没有找到任何日志。老实说,我不确定用
top
找什么。无论是从终端还是代码工具包运行命令时,我看不到任何明显的变化。让它显示为
top
可能很困难,因为它们不太可能出现在列表的顶部。使用
ps
可能更容易(但仍然很困难,因为命令完成得很快)。可能更好的方法是编写一个运行命令的小脚本,详细记录它正在做什么和发生了什么?无错误msgs?您是否有可能将std err重定向到
/dev/null
?如果运行shell脚本(bash/ksh),
set-vx
是您的调试朋友。它将在执行前显示每一行或每一块代码,然后在前面加上一行“
+
”,以显示实际执行的最终命令,并完成任何变量替换。祝你好运。@Sheller所以我设法把错误记录到一个文件中。
jsx./assets/src/jsx./assets/build/js
的结果是
/bin/sh:jsx:command-not-found
。使用
/usr/local/bin/jsx…
返回
env:node:没有这样的文件或目录
。我的印象是这些只是运行常规的shell脚本,但我想有些事情是不同的。你知道怎么解决这个问题吗?