mimosa-browserify v0.3.0
mimosa-browserify
Mimosa module to support CommonJS via Browserify. require() your web modules Node.js style!
quickstart
Mimosa skeletons are available! You now only need one command to create a new browserify app.
mimosa skel:new browserify-basic myAppto create a new browserify Mimosa app.mimosa skel:new ember-commonjs myAppto create a new browserify Mimosa app with Ember.js.
Remember to npm install then start developing with mimosa watch -s.
usage
Replace require with browserify in your mimosa-config.coffee. Mimosa will automatically install mimosa-browserify from NPM if you don't already have it.
####Updating/Switching Versions
Use the mimosa cli to manage versions. mimosa mod:list will show you what you have installed.
To update to the lastest version: mimosa mod:install mimosa-browserify
You can also change to a specific version: mimosa mod:install mimosa-browserify@0.1.2
####Example configuration:
exports.config =
modules: ["server","browserify","lint","live-reload","bower"]
template:
wrapType: 'common'
commonLibPath: 'dust'
browserify:
bundles:
[
entries: ['javascripts/main.js']
outputFile: 'bundle.js'
]
shims:
jquery:
path: 'javascripts/vendor/jquery/jquery'
exports: '$'
aliases:
dust: 'javascripts/vendor/dust'
templates: 'javascripts/templates'
noParse: ['javascripts/vendor/jquery/jquery']####shims
Note the use of shims to wrap non-CommonJS code. The documentation for the shim configuration can be found at browserify-shim.
####aliases
Aliases allow you to name your modules. This frees you from having to use relative paths. So in this example you could require('dust') instead of require('./vendor/dust').
####noParse
Use noParse to let browserify know not to parse large vendor libraries with no node.js dependencies. This can help shave a few seconds off of your build time.
####templates
Mimosa as of v1.0.0-rc.4 can output CommonJS wrapped templates compatible with mimosa-browserify. Be sure to set template.wrapType to common and set your commonLibPath if you want to use compiled templates. (you probably do)
####external bundles
Browserify external bundles are now supported. Thanks Kikimora!
libs = ["/vendor/js/jquery/jquery", "/vendor/js/bootstrap/bootstrap", ....]
browserify:
bundles:
[{
entries: libs
outputFile: 'lib-bundle.js'
},{
entries: ['js/app.js']
outputFile: 'app-bundle.js'
external: libs
}]skeletons
browserify-basic is the default Mimosa project modified for browserify.
ember-commonjs is a simple Mimosa project with Ember.js support.