Awesome
Important!
This module is no longer relevant and will likely not receive any further updates. It served its purpose at the time, but the React framework has since moved on and using babel is now the approach that they suggest. This tool focused on offering a nice development workflow. For a similar experience you could go with webpack-dev-server and babel.
express-jsxtransform
Middleware that compiles jsx on-the-fly. Intended to be used in a
development setting with the express.static
middleware, but should
work with any middleware further down the stack, even an http proxy.
The response will be rewritten under these circumstances:
- If the response is a file with the
.js
extension and has the/** @jsx ... */
annotation on the first line. - If the response is a file with the
.jsx
extension. In this case the annotation is optional.
jsxtranform plays nice with conditional GET. If the original response
has an ETag, jsxtransform will add to it so the ETag of the compiled
response never clashes with the original ETag. That prevents the
middleware issuing the original response from being confused into
sending a false positive 304 Not Modified
if jsxtransform is turned
off or removed from the stack later.
Installation
Make sure you have node.js and npm installed, then run:
npm install express-jsxtransform
Example usage
var express = require('express'),
jsxtransform = require('express-jsxtransform'),
root = '/path/to/my/static/files';
express.createServer()
.use(jsxtransform())
.use(express.static(root))
.listen(1337);
License
3-clause BSD license -- see the LICENSE
file for details.
Credit
This module is heavily based on the work of Andreas Lind Petersen (@papandreou) in his module express-compiless.