如何编写蛋白石库?

How to write opal library?

我想编写 opal 库来为我必须使用的某些本地 javascript 提供更好的界面。但是,我不知道从哪里开始。我有一些东西包含在我当前的代码中,但不知道如何将它变成单独的 "module" 或者蛋白石不使用什么术语。

启动这样的事情的共同蓝图是什么?还是我应该深入研究 opal-browser 然后从那里找出答案?

关键似乎是使用 Opal.append_path 将带有蛋白石代码的目录添加到搜索路径中。

https://github.com/opal/opal-jquery/blob/master/lib/opal/jquery.rb 借用的以下代码似乎很好地说明了这一点:

if RUBY_ENGINE == 'opal'
  require 'opal/jquery/window'
  require 'opal/jquery/document'
  require 'opal/jquery/element'
  require 'opal/jquery/event'
  require 'opal/jquery/http'
  require 'opal/jquery/kernel'
else
  require 'opal'
  require 'opal/jquery/version'

  Opal.append_path File.expand_path('../..', __FILE__).untaint
end