首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能在Opal中使用Ruby宝石吗?

我能在Opal中使用Ruby宝石吗?
EN

Stack Overflow用户
提问于 2014-07-04 11:19:29
回答 2查看 1.5K关注 0票数 7

opal-irbopal-jqueryvienna,但是有任何方法可以通过Opal直接在浏览器中使用gems吗?

EN

回答 2

Stack Overflow用户

发布于 2014-07-05 15:35:57

可以使用lib将gem的Opal.use_gem路径添加到Opal路径

常见的缺陷是:

  • 字符串可修改性的使用
  • 依赖于字符串和符号的区别
  • 炮击(``%x{})

修复/解决其中一些问题的可用工具是:

  • 存根文件Opal::Processor.stub_file('fileutils')
  • 使用RUBY_ENGINE在编译时隐藏代码分支,例如:unless RUBY_ENGINE == 'opal' unparsable/breaking code here end

您可以通过查看opal-rspec源代码来查看这些内容:

https://github.com/opal/opal-rspec

票数 7
EN

Stack Overflow用户

发布于 2014-07-04 12:51:11

和往常一样,答案是“是”和“否”,这取决于你的观点。Opal将将您的红宝石(全部)转换为JavaScript,并提供适当的运行时。如果您需要创业板,则在编译过程中将需要它,并将其包含到生成的JavaScript中。您可以在您的ruby代码中自由地使用生成的ruby类(这再次被编译成JavaScript)。

因此,您可以要求gems,但请记住,它们的需求也将是必需的,因此如果您不小心的话,将导致JavaScript文件的噩梦。从技术上讲,您仍然没有在浏览器中运行ruby,为此,必须将其编译为JavaScript。但是,您可以运行从您的ruby和所需的gems生成的代码,尽管在此过程中它将成为JavaScript (并且您必须对其进行调试)。但是,这种方法有一些限制,您必须记住JavaScript NumberString属性(也称为不可变的String),但在这些限制范围内,您可以在服务器和客户端之间共享代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24573142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档