A Browserify Transform for react-jade.
Install
$ npm install --save-dev react-jadeify
Usage
Must use .rjade extention because some people (include me) want to use .jade extention for jade or jadeify.
Can use .rjade
and .react.jade
extentions as default.
And you can change extentions by option
option
extentions
can set String
or Array
browserifyextensions: '.jade'transform:'react-jadeify'extensions: '.jade'
browserifyextensions: '.jade''.react.jade'transform:'react-jadeify'extensions: '.jade''.react.jade'
gulp
gulp = require 'gulp'browserify = require 'browserify'source = require 'vinyl-source-stream'gulptask 'browserify'->browserifyentries: './src/app.coffee'extensions: '.coffee''.rjade'transform: 'coffeeify''react-jadeify'bundlepipe source 'app.js'pipe gulpdest './build'
app.coffee
React = require 'react'template = require './templates/hello' # hello.rjadereactElement = template data: 'hello react-jadeify world'Reactrender reactElementdocumentbody
hello.rjade
h1= data
index.jade
doctype htmlhtmlheadtitle hello react-jadeifybodyscript(src="./app.js")
A Little Bit More Practical Example
app.coffee
'use strict'React = require 'react'initTemplate = require './templates/init' # init.rjaderootTemplate = require './templates/root' # root.rjadeRootCompornent = ReactcreateClass: -> 'data': 'hello'render: rootTemplatelocals localData: 'react-jadeify'Reactrender initTemplateInitCompornent: RootCompornentdata: 'world'documentbody
init.rjade
InitCompornent(data=data)
root.rjade
h1= this.state.data + ' ' + localData + ' ' + this.props.data