This middleware was created to allow processing of React JSX files for Connect JS framework and by extension the Express JS framework.
This module is almost an exact replica of Randy Merrill's less-middleware but adapted to work with JSX files instead of LESS. Basically, we use it and love the way the module works - but couldn't find anything as nice for JSX files. After stripping out the parts that didn't apply to JSX transforms, here it is! We use babel to do the JSX + ES6 transforms.
Installation
npm install jsx-middleware --save
Usage
Express
var jsxMiddleware = ; var app = ;app;app;
options
The following options can be used to control the behavior of the middleware:
Option | Description | Default |
---|---|---|
debug |
Show more verbose logging? | false |
dest |
Destination directory to output the compiled .js files. |
Same directory as jsx source files. |
force |
Always re-compile jsx files on each request. | false |
once |
Only recompile once after each server restart. Useful for reducing disk i/o on production. | false |
postprocess |
Object containing functions relevant to preprocessing data. | |
postprocess.js |
Function that modifies the compiled js output before being stored. | function(js, req){...} |
preprocess |
Object containing functions relevant to preprocessing data. | |
preprocess.jsx |
Function that modifies the raw jsx output before being parsed and compiled. | function(src, req){...} |
preprocess.path |
Function that modifies the jsx pathname before being loaded from the filesystem. | function(pathname, req){...} |
render |
Options for the jsx render. See the "render Options" section below. |
… |
storeJs |
Function that is in charge of storing the js in the filesystem. | function(pathname, js, req, next){...} |
render
Options
The options.render
is passed directly into the babel.transform
with minimal defaults or changes by the middleware.
The following are the defaults used by the middleware:
Option | Default |
---|---|
compact |
auto |
About
jsx-middleware was developed by the team at Wedgies based on previous work by Ember Feather.
Wedgies is a digital survey platform that gives media, journalists and brands in-line survey capabilities inside social media, their website, and their apps — where they can collect millions of opinions from their readers and users. Wedgies is the leading social survey platform that enables publishers to collect survey respondents directly within social media streams.
Wedgies, a darling of Tony Hsieh’s Las Vegas’ Vegas Tech Fund, is backed by an all-star list of investors including Greycroft, Advancit Capital, MESA Ventures, Knight Foundation, kbs+ Ventures, Battle Born Ventures, Twilio, 500 Startups and SV Angel.
Wedgies founding team consists of top talent in developer tools and community management with experience that includes Zappos.com, Overstock.com, and Backcountry.com.