问题
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?
回答1:
jQuery is now CommonJS compliant, as of version 2.1.0
回答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
回答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.
来源:https://stackoverflow.com/questions/11379692/using-jquery-with-browserify