29
votes

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 `

1
Do you load jquery before bootstrap?Michelangelo
yes, I do a var jQuery = require('jquery');var bootstrap = require('bootstrap'); LLenain

1 Answers

74
votes

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