我正在参与一个项目,经常遇到therubyracer和libv8的问题,所以决定将它们删除。似乎唯一使用它们作为依赖项的是我想要删除的less-rails。
我的主要问题是它们是用来做什么的?在普通应用程序中是否需要它们?如果需要,为什么?
我正在参与一个项目,经常遇到therubyracer和libv8的问题,所以决定将它们删除。似乎唯一使用它们作为依赖项的是我想要删除的less-rails。
我的主要问题是它们是用来做什么的?在普通应用程序中是否需要它们?如果需要,为什么?
一个Rails应用程序可能需要使用JavaScript Runtime的几个方面:
1)Rails Asset Pipeline 需要JavaScript Runtime来执行JavaScript压缩。
2)某些Rails ActionView Helpers ,例如 javascript_include_tag,需要JavaScript Runtime才能执行JavaScript函数。
并非每个Rails应用程序都使用这些功能,因此therubyracer gem最初在Gemfile中被注释掉;此外请注意,您也可以选择使用NodeJS作为JavaScript Runtime。
详情请参见:
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
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.