opal makes it easy to build static opal applications. Opal uses internal load
paths to make it easy to handle resolving requirements during building.
forms the basis of rails support, so anything you can do there, you can do
standalone as well.
opal adding them to a
# Gemfile gem "opal", "~> 0.7.0"
Next, we want to add our main app code. Keep all opal code inside
directory, and edit
# app/application.rb require "opal" puts "Wow, running opal!"
You will notice the
require "opal" line which will automatically include the
opal runtime and corelib into our output, giving us access to the
To build this, we need the rake task to add our
app/ directory to the load path, and then to build our target file
application.rb which will be found because it is inside our added load path.
# Rakefile require 'opal' desc "Build our app to build.js" task :build do Opal.append_path "app" File.binwrite "build.js", Opal::Builder.build("application").to_s end
Now, if you run
rake build you will get the
build.js output file with our
application compiled, with the opal runtime included as well.
To run the application, lets create a very simple html file:
<!DOCTYPE html> <html> <head> <script src="build.js"></script> </head> <body> </body> </html>
Now, open this html file and check the browsers console. You should see our message printed in the console.