schwartzman v0.9.2
schwartzman
Webpack loader for Mustache. Compiles jsx.mustache files to ReactJS.
in-browser demo
why?!
Because "built-in" server-side prerender of react components requires JS VM — JSX allows for pretty complex expressions. On the other hand, every language has library for rendering Mustache templates[citation needed]. Plus, Mustache is very simple and basic. So simple, that it's easier to write a Mustache-to-JS compiler than a JSX parser for Python/Perl/PHP/Pascal/P
installation
$ npm install --save-dev schwartzman
And add to your webpack.config.js
{test: /\.jsx\.mustache$/, loader: "schwartzman"}
tomodule.loaders
:warning: if you use partials, you'll need to "wrap" this loader with
babel-loader
or any other dependency solving loader{test: /\.jsx\.mustache$/, loader: "babel-loader!schwartzman"}
".jsx.mustache"
toresolve.extensions
module.exports = {
entry: {
// ...
},
output: {
// ...
},
module: {
loaders: [
// ...
{test: /\.jsx\.mustache$/, loader: "schwartzman"},
],
},
resolve: {
extensions: [
// ...
".jsx.mustache",
],
// ...
}
// ...
}
supported mustache blocks (with some limitations for attributes):
{{ variable }}
and{{{ escaped_variables }}}
{{# section }}
{{^ inverted_section }}
{{! comment }}
{{> partial }}
development
$ npm i
$ npm test
4 years ago
5 years ago
6 years ago
7 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago