Javascript – jQuery not define in bootstrap module

javascriptnode.jstwitter-bootstrap

I want to use bootstrap for my website (with node.js). But I have the following error :

/var/www/node_modules/bootstrap/js/transition.js:59
}(jQuery);
^
ReferenceError: jQuery is not defined
at Object. (/var/www/node_modules/bootstrap/js/transition.js:59:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/var/www/node_modules/bootstrap/dist/js/npm.js:2:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)

I tried to do a

var bootstrap = require('bootstrap');

in my main node.

I installed bootstrap with npm (npm install bootstrap from my folder). I also tried to instal jquery with the same way and to add a var jQuery= require('jquery'); but it does not work. Do you have any idea what could be wrong ? I am starting node.js, i may miss something

Then I use <link href="../node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> in my HTML webpage to refer to bootstrap
`

Best Answer

To use jquery plugins with npm/node you need to set the global jQuery variable before requiring your plugin [bootstrap in this case]:

global.jQuery = require('jquery');
require('bootstrap');

More details in this npm blog post