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.
Make sure you have node.js and npm installed, then run:
npm install express-jsxtransform
var express = require('express'),
jsxtransform = require('express-jsxtransform'),
root = '/path/to/my/static/files';
express.createServer()
.use(jsxtransform())
.use(express.static(root))
.listen(1337);
3-clause BSD license -- see the LICENSE
file for details.
This module is heavily based on the work of Andreas Lind Petersen (@papandreou) in his module express-compiless.