Require that returns different values in the browser than node and avoids the node module being browserified.

Require that returns different values in browsers than node.js and tricks browserify out of bundling the required node module.

Takes a named identifier for a module identical to node's require. In node.js the return value is always identical to node's require.

If no browserValue is given an empty object will be returned in the browser. If a string is given then window[browserValue] will be returned. If an object is passed then it will be returned.

var broquire = require('broquire')
var utilities = broquire('./utils')
if (!utilities.cleanup) utilities.cleanup = function () {}
var broquire = require('broquire')
var utilities = broquire('./utils', {cleanup:function () {}})
var broquire = require('broquire')
var eioClient = broquire('', 'eio')