using jquery with browserify

11,364

Solution 1

jQuery is now CommonJS compliant, as of version 2.1.0

Solution 2

Browserify can process CommonJS modules as well as AMD modules with the deamdify transform so now there should be no need to use a shim.

To be clear I only noticed AMD support in JQuery 2.0.0

Solution 3

jQuery was not CommonJS compliant, i.e. it didn't export itself via module.exports = $ until 2.1.0.

Therefore you needed to shim it via browserify-shim.

browserify-shim will shim any version of jquery or any other non-CommonJS library like Zepto on the fly. Details on how to set this up are included in the readme.

As an alternative you could have also used jquery-browserify, but then you would be tied to the jQuery version that this module made CommonJS compliant.

Share:
11,364
Misbah Khan
Author by

Misbah Khan

I am a Computer Engineering student interested in a variety of types of software development.

Updated on June 13, 2022

Comments

  • Misbah Khan
    Misbah Khan about 2 years

    I am trying to use jQuery with browserify with the module jquery-browserify. I required the module in my client.js script as such:

        var $ = require('jquery-browserify');
    

    and when I run my node server, after i've ran browserify, i get a "window is not defined" error. What am I doing wrong?

  • Ilan Biala
    Ilan Biala over 10 years
    it is commonsJS compliant as of 2.1.0
  • Claudia
    Claudia almost 10 years
    Too bad this question was asked in 2012. This is probably why they made those.
  • eignhpants
    eignhpants over 8 years
    This was so long ago I don't expect a response, but whatever. How does this work. I jave jQuery 2.10 module from npm, but when I create a module and pass it in using browserify, I cannot use jquery in that module. I see a lot of comments saying it is commonJS compliant, and nothing on how to use it.
  • Chris
    Chris over 8 years
    Interesting, could you post an example on GitHub? I've found var $ = require('jquery') to work pretty well.