First, add path to global node modules to your path so that browserify command could be found & install browserify globally. Or use /node_modules/.bin/browserify instead of browserify.
npm install
browserify -d . > js/bundle.js -t [ babelify --presets=babel-preset-es2015 ] -t browserify-shim
After that open index.html in browser and check.
By work I mean resolve require('jquery') inside jQuery plugin (magnific-popup) to correct object. Plugin then assigns itself as a property of $, as becomes accessible from entry.js.
"browserify": "~3.0.0",
"browserify-shim": "~3.1.0"
{ file: '/home/raduga/Documents/workzone/shim-try/js/entry.js',
info:
{ package_json: '/home/raduga/Documents/workzone/shim-try/package.json',
packageDir: '/home/raduga/Documents/workzone/shim-try/',
shim: undefined,
browser: undefined,
'browserify-shim': { jquery: 'global:jQuery' },
dependencies:
{ request: '~2.12.0',
jquery: '^2.2.0',
'magnific-popup': '~1.1' },
lookedUp: false },
messages:
[ 'Resolved "jquery" found in package.json to "/home/raduga/Documents/workzone/shim-try/jquery"',
{ resolved:
{ '/home/raduga/Documents/workzone/shim-try/jquery':
{ exports: 'global:jQuery',
depends: undefined } } } ] }
Starting from browserify-shim 3.2.0
{ file: '/home/raduga/Documents/workzone/shim-try/js/entry.js',
info:
{ package_json: '/home/raduga/Documents/workzone/shim-try/package.json',
packageDir: '/home/raduga/Documents/workzone/shim-try/',
shim: undefined,
exposeGlobals: { jquery: 'jQuery' },
browser: undefined,
'browserify-shim': { jquery: 'global:jQuery' },
dependencies:
{ request: '~2.12.0',
jquery: '^2.2.0',
'magnific-popup': '~1.1' },
lookedUp: false },
messages: [ { resolved: {} } ] }
Instead of
"browserify-shim": {
"jquery": "global:jQuery"
}
Use
"browserify-shim": {
"jquery": {"exports": "jQuery"}
}
Then works with latest versions of shim & browserify.