sprockets-coffee-jsx
Preprocessor for Coffeescript with React JSX (CJSX) support.
This is an updated version of sprockets-coffee-jsx gem.
This gem makes it easy to integrate this into the Rails asset pipeline or other Sprockets chains.
Usage
Add this gem to your Gemfile:
gem 'sprockets-coffee-jsx'
You can name your JSX
asset files as .js.coffee.cjsx
, .js.cjsx
or .js.coffee
.
Rack
If you're not using rails, you'll need to register the Sprockets preprocessor manually. Here is an adapted version of the Rack example provided by Sprockets, which additionally requires and registers the sprockets-coffee-jsx engine:
require 'sprockets'
require 'sprockets/coffee-jsx'
map '/assets' do
environment = Sprockets::Environment.new
environment.append_path 'app/assets/javascripts'
environment.append_path 'app/assets/stylesheets'
environment.register_mime_type 'text/cjsx', extensions: ['.cjsx', '.js.cjsx', '.js.coffee.cjsx'], charset: :unicode
environment.register_transformer 'text/cjsx', 'application/javascript', Sprockets::CoffeeJsxScript
environment.register_preprocessor 'application/javascript', Sprockets::CoffeeJsx
environment.register_postprocessor 'application/javascript', Sprockets::CoffeeJsxPostprocessor
run environment
end
map '/' do
run YourRackApp
end
Middleman
Add the following to your config.rb file:
require 'sprockets/coffee-jsx'
::Sprockets.register_mime_type 'text/cjsx', extensions: ['.cjsx', '.js.cjsx', '.js.coffee.cjsx'], charset: :unicode
::Sprockets.register_transformer 'text/cjsx', 'application/javascript', Sprockets::CoffeeJsxScript
::Sprockets.register_preprocessor 'application/javascript', Sprockets::CoffeeJsx
::Sprockets.register_postprocessor 'application/javascript', Sprockets::CoffeeJsxPostprocessor
License
Released under the MIT License. See the LICENSE file for further details.