我想在 Opal Ruby 的帮助下测试一些简单的 SVG 动画,它是一个 Ruby 到 Javascript 的转译器。
然而,我使用 Opal 的第一步很尴尬。我根本无法访问 dom(文档对象模型)。
看来我的安装(宝石)可能是可疑的。我错过了一些东西:
opal --compile test.rb > app.js
返回:
/home/jcll/.rvm/gems/opal/gems/opal-1.1.1/lib/opal/builder.rb:182:in `read': can't find file: "opal-browser" in: (Opal ::Builder::MissingRequire)
以下是列出的宝石:
ls ~/.rvm/gems/opal/gems/
ast-2.4.2 opal-1.0.5 opal-1.1.1 opal-browser-0.2.0 opal-jquery-0.4.4 paggio-0.2.6 parser-2.7.2.0 parser-3.0.1.1 rake-13.0.4
这是我的红宝石测试:
require 'opal'
require 'opal-browser'
# prints ok on the browser console
puts "hello world".center(30,'=')
# prints ok on the browser console
(1..5).each{|i| puts "#{i*2}"}
#p $window.document.class
最后是我的 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>SVG Animation with Opal Ruby</title>
</head>
<body>
<script src="app.js"></script>
<svg id="svg_root" width="800" height="600">
<circle id="circle" cx="100" cy="200" r=10 fill="blue" />
</svg>
</body>
</html>
(我的第一个意图是移动 SVG 圆圈或使用 Opal Ruby 对浏览器事件做出反应)