What can you do with SlimerJS?
SlimerJS allows you to execute JavaScript outside a classical web browser.
In your JavaScript you can use modules, providing access to many APIs:
Your script is also able to execute CommonJS modules,
even those written with the CoffeeScript language!
Your main script can be written with CoffeeScript as well. SlimerJS recognizes *.coffee
files.
In your Slimerjs scripts, benefit latest Javascript features implemented in Firefox, including ECMAScript 6 features: iterators, generators, destructured assignement, Map and WeakMap, "let" keyword, arrow functions, promises etc. (except ES6 modules)
Since SlimerJS is executed on top of Firefox, it supports all the HTML5 and CSS standards implemented into Firefox 59.
The web page rendering in SlimerJS is strictly identical to the rendering in Firefox 59.
See the download page to know the version of Firefox compatible with the latest release of SlimerJS.
You can go on caniuse.com to see the list of HTML5 features supported by Firefox 59 and you can use in web pages loaded by SlimerJS.
Try SlimerJS for your web projects!
APIs of SlimerJS are similar to the APIs of PhantomJS but there are a few differences in their behavior. Some options and a few features are still missing. Feel free to help us to have a full compatibility (see release notes to have the list of missing features).
However, most of scripts for PhantomJS run perfectly well with SlimerJS right now!
SlimerJS provides some enhancements in the API. For example you can use Promises
when opening a web page with webpage.open()
.
Contrary to PhantomJS, SlimerJS is not headless by default: you see windows
and it then needs a graphical environment. Except if you are using
Firefox 56+, by adding an --headless
flag, or for
older version of Firefox on linux, you can use a tool like
xvfb
to have this headless
feature and to execute SlimerJS on Linux boxes that do not have xorg
installed. See the documentation about the headless mode.