什么是therubyracer或libv8 for rails应用程序?

我正在研究一个项目,经常遇到therubyracer和libv8的问题,所以我决定删除它们。 它似乎是唯一使用它们作为依赖的东西是较少的轨道,我想要删除无论如何。

我的主要问题是它们是什么,我是否需要它们在普通应用程序中,如果是这样,为什么?

Rails应用程序可能会使用Javascript运行时的一些内容:

1)Rails Asset Pipeline需要Javascript Runtime才能执行Javascript压缩。

2)某些Rails ActionView Helpers(如javascript_include_tag)需要Javascript Runtime才能执行Javascript函数。

并非每个Rails应用程序都使用这些function,因此最初在您的Gemfile中注释了therubyracer gem; 另外请注意,您也可以使用NodeJS作为Javascript运行时。

有关详情,请参阅:

http://guides.rubyonrails.org/asset_pipeline.html#javascript-compression

http://www.rubydoc.info/docs/rails/ActionView/Helpers/JavaScriptHelper

http://www.rubydoc.info/docs/rails/ActionView%2FHelpers%2FAssetTagHelper%3Ajavascript_include_tag

适当的“Rails”方式在特定页面上执行javascript

rubyracer提供以下function:

1. We can write your ruby codes inside js codes. 2. We can invoke the js functions from ruby codes. 3. Manipulation of javscript objects & the passing them to javascript functions. 

这些是使用rubyracer gem的几个基本好处。 请在此阅读完整的详细信息