有opal-irb、opal-jquery和vienna,但是有任何方法可以通过Opal直接在浏览器中使用gems吗?
发布于 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源代码来查看这些内容:
发布于 2014-07-04 12:51:11
和往常一样,答案是“是”和“否”,这取决于你的观点。Opal将将您的红宝石(全部)转换为JavaScript,并提供适当的运行时。如果您需要创业板,则在编译过程中将需要它,并将其包含到生成的JavaScript中。您可以在您的ruby代码中自由地使用生成的ruby类(这再次被编译成JavaScript)。
因此,您可以要求gems,但请记住,它们的需求也将是必需的,因此如果您不小心的话,将导致JavaScript文件的噩梦。从技术上讲,您仍然没有在浏览器中运行ruby,为此,必须将其编译为JavaScript。但是,您可以运行从您的ruby和所需的gems生成的代码,尽管在此过程中它将成为JavaScript (并且您必须对其进行调试)。但是,这种方法有一些限制,您必须记住JavaScript Number和String属性(也称为不可变的String),但在这些限制范围内,您可以在服务器和客户端之间共享代码。
https://stackoverflow.com/questions/24573142
复制相似问题