我正在做一个项目,并且经常遇到 therubyracer 和 libv8 的问题,所以我决定删除它们。似乎唯一将它们用作依赖项的是 less-rails ,无论如何我都想删除它。
我的主要问题是它们有什么用,我在普通应用程序中是否需要它们,如果需要,为什么?
我正在做一个项目,并且经常遇到 therubyracer 和 libv8 的问题,所以我决定删除它们。似乎唯一将它们用作依赖项的是 less-rails ,无论如何我都想删除它。
我的主要问题是它们有什么用,我在普通应用程序中是否需要它们,如果需要,为什么?
Rails 应用程序可能会使用 Javascript 运行时来做一些事情:
1) Rails资产管道需要 Javascript 运行时才能执行 Javascript 压缩。
2) 某些 Rails ActionView 帮助程序,如 javascript_include_tag 需要 Javascript 运行时才能执行 Javascript 函数。
并非每个 Rails 应用程序都使用这些功能,因此最初在 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
rubyracer 提供以下功能:
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 的几个基本好处。请在此处阅读完整的详细信息