mirror of
https://github.com/lloeki/sprockets-umodule.git
synced 2025-12-06 02:24:41 +01:00
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# sprockets-umodule
|
|
|
|
[umodule-js](https://github.com/lloeki/umodule-js) integration with Sprockets (and Rails)
|
|
|
|
[](https://travis-ci.org/lloeki/sprockets-umodule)
|
|
|
|
## Goal
|
|
|
|
`sprockets-umodule` saves you from the chore of writing CommonJS umodule
|
|
wrapping boilerplate. The module name will automatically be set from its
|
|
logical path (relative path to its asset root).
|
|
|
|
## Usage
|
|
|
|
Add `gem 'sprockets-umodule'` to your Gemfile. Name your module files with
|
|
`.js.umodule` or `.js.umodule.coffee`, matching your poison of choice.
|
|
|
|
If you're using Sprockets, load umodule.js by any way you see fit. For convenience,
|
|
its source is included and can be obtained with `Umodule::Source.contents`, so
|
|
it's merely a `umodule.js.erb` away:
|
|
|
|
<%= Umodule::Source.contents %>
|
|
|
|
Alternatively, you can add `File.dirname(Umodule::Source.bundled_path)` to the
|
|
asset load path.
|
|
|
|
If you're using Rails, add `gem 'sprockets-umodule, require: umodule-rails`
|
|
instead, which will make it an engine and set up all of this for you, so you
|
|
just have to add `//= require
|
|
umodule` to `application.js`.
|
|
|
|
Important note: due to some technical complications, you must also
|
|
`//= require` your umodule assets in `application.js`, and possibly manage
|
|
dependency ordering manually. In any case, they should be loaded after
|
|
`umodule.js`.
|