A browserify transform for turning .jade files into template functions
var template = require"./template.jade";documentgetElementById"my-thing"innerHTML = templatelocalVar: "value"anotherOne: "another value";
When creating your browserify bundle, just add this line:
or if you are a command line cowboy, something along the lines of
browserify -t jadeify entryjs -o bundlejs
Note that this project peer-depends on Jade and each template will do
require("jade/runtime"), so everything will just work: there's no need to add any Jade-related stuff to your bundle manually. (See below if your need to customize this.)
So yeah, now
.jade files will give you back a template function. Have fun!
As with most browserify transforms, you can configure jadeify via the second argument to
bundletransformrequire"jadeify" compileDebug: true pretty: true ;
or inside your
Most options given to jadeify will be passed through to Jade's API.
There is one additional option,
runtimePath, which can be used to customize the
require statement inserted at the top of every resulting template. If supplied, instead of
require("jade/runtime"), the given module ID will be required.
This can be useful if you are using jadeify as a dependency in a standalone library. For example, if your package
demo-package depends on both
jadeify, you can do
bundletransformrequire"jadeify" runtimePath: requireresolve"jade/runtime" ;
inside your package. If your package is then located at
node_modules/demo-package, and thus its
jade dependency is located at
node_modules/demo-package/node_modules/jade, this will ensure that the template files output by your library contain the equivalent of
require("demo-package/node_modules/jade/runtime"), instead of the default
require("jade/runtime"). This way your library completely encapsulates the presence of Jade, and doesn't require its installation at top level.