'Uncaught ReferenceError: jQuery is not defined' with create-react-app
Solution 1
Create React App maintainer here.
import $ from 'jquery';
and then using
$.something()
should work fine if you are using jQuery 2.x or higher.
If it doesn't please file an issue.
In your examples, the problem might be that you wrote import jquery from 'jquery'
but used jQuery
as variable name. You should have written import jQuery from 'jquery'
(or any other name as long as you use it consistently). Variable names are case sensitive in JavaScript.
Solution 2
In case someone land here. I had resolved similar issue for 'create-react-app' by using this:
import jQuery from 'jquery';
window.jQuery = jQuery;
and for importing other packages that needs jQuery you should import those packages after this, in affix.js case,
require 'bootstrap/js/affix.js';
Related videos on Youtube
Sami El Maameri
Updated on September 14, 2022Comments
-
Sami El Maameri over 1 year
Am building a React App using create-react-app so the app is server ready.
When importing a bootstrap javascript plugin such as 'affix.js', I get the error 'Uncaught ReferenceError: jQuery is not defined', and the page no longer loads.
Am importing all the modules through the index.js file since with the create-react-app it dosent seem to load the 'src' and 'link' imports from the index.html file.
Am importing the bootstrap plugin like so: import 'bootstrap/js/affix.js'
Have tried importing jquery in the following ways, at the top of the index.js file but none is working:
- import jquery from 'jquery'
- import jquery from 'jquery', window.$ = window.jQuery = jquery;
- import jQuery from 'jquery'
- import $ from 'jquery'
- import 'jquery/dist/jquery.js';
- require('./node_modules/jquery/dist/jquery.js')
Any ideas?
-
Mayank Shukla over 7 yearsi think, don't import
jquery
in this way. Just put thecdn jquery
link in html file, it should work. use this:<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
-
Sami El Maameri over 7 yearsThanks for the response. I already tried to " import $ from 'jquery' ", and it gives the same error. Also, regarding your previous comment, you can see the source code here where I currently am importing jquery via CDN (github.com/smaameri/keywords-finder). To test the bug you can remove remove the CDN link from index.html, and then try to import jquery as above in App.js. You will see the reference error. Will file issue as you said also.
-
Bob Smith almost 6 yearsDoesnt seem to work for my create-react-app. When I load up the app and in the console type window.jQuery I get undefined.
-
Bob Smith almost 6 yearsUsing the CDN in my html file seems to be the only way I can get jQuery to load into my app.
-
Michael Nelles about 4 yearsIsn't there a little more to it than that?