2012-03-13 121 views
19

我有一个rails应用程序,我想强制execjs作为javascript运行时的用户Node.js。我怎样才能检查execj正在使用哪个运行时?如何强制execjs使用Node.js?

谢谢。

回答

23

我想出了如何设置javascript运行时。在config/boot.rb中输入以下行:ENV['EXECJS_RUNTIME'] = 'Node'

+4

更好的选择是设置shell env变量'EXECJS_RUNTIME'。 – Hauleth 2013-06-03 07:56:03

+0

Hey @ŁukaszNiemier,什么是必须分配给EXECJS_RUNTIME的价值?我使用**“export EXECJS_RUNTIME =/opt/node-v4.4.5-linux-x64/bin”**。但是现在它显示错误“错误的常量名称/ opt/node-v4.4.5-linux-x64/bin”。 – learner 2016-06-16 06:11:47

+0

@learner使用'export EXECJS_RUNTIME = Node' – Max 2016-06-16 08:21:50

4

如果你还有public/index.html那么它会告诉你什么是JS引擎的使用。如果你没有一个然后在这里你去https://gist.github.com/2029491

+10

感谢。我不知道你可以这样做。我也想出了如何设置javascript运行时。在config/boot.rb中放入以下行:'ENV ['EXECJS_RUNTIME'] ='节点'。 – Max 2012-03-13 19:14:58

+0

@Max希望你能把它作为答案! – Crisfole 2013-02-14 21:46:18

11

虽然Max 's answer是完全有效的,如果您想全局设置此选项,那么值得注意的是有一种更简单的方法。要打印出当前运行时,通过require 'execjs'进口ExecJS后,只需运行

puts ExecJS.runtime.name 

,并设置当前运行时,只需使用

ExecJS.runtime = ExecJS::Runtimes::Node