
Magento 2.x: How to fix “Uncaught ReferenceError: jQuery is not defined(anonymous function)” javascript message
Sometimes when developing js inside a module, you will see the following message:
Uncaught ReferenceError: jQuery is not defined(anonymous function).
Uncaught TypeError: $(…).customjs is not a function.
This is due to AMD(asynchronously module dependencies) nature of require js, and you can fix it in two different ways:
- Use a requirejs-config.js file in your web directory, with the following pattern:
12345678910var config = {paths: {'my_js_name': 'Vendor_Module/js/my_js_name.min'},shim: {'my_js_name': {deps: ['jquery'] //gives your parent dependencies name here}}}; - Use requirejs concept (lazy load), so load jquery first then write your jquery code:
123456789require(['jquery'],function($){$(document).ready(function(){alert('ok');});});
After that, remember to re deploy your static content files, and try again.