I'm using browerify with browserify-shim to us the version of underscore and jQuery defined by the environment it's running in. I found myself requiring the same modules over and over again, so went to look for a way to automate that. The option opts.insertGlobalVars does it, but can I make it work with browserify-shim?
package.json
"browserify-shim": {
   "jquery": "global:jQuery",
   "underscore": "global:_"
}
gruntfile.js
browserify: {
  options: {
    browserifyOptions: {
      transform: ['browserify-shim'],
        insertGlobalVars: {
           _: function(file, dir) {
             return 'require("underscore")';
           }
        }
     }
  }
The _ get recognised as variable and an attempt is made to define it. Unfortunately this results in the file not being found. Since I don't include the file myself I can't provide a path or than in the example above. 
Error: Cannot find module 'jquery' from 'path/to/file'
Edit: using require('underscore') directly inside my module does work.