Dependency handling¶
Let us try to explain the dependency handling with the most used JS lib: jQuery
To prevent the "$ is undefined" error, you should use the dependency handling of RequireJS. To get jQuery working in your code, use the following line:
define(['jquery'], function($) {
// in this callback $ can be used
});
Copied!
The code above is very easy to understand:
- every dependency in the array of the first argument
- will be injected in the callback function at the same position
Let us combine jQuery with our own module from the Extension example
define(['jquery', 'TYPO3/CMS/FooBar/MyMagicModule'], function($, MyMagicModule) {
// $ is our jQuery object
// MyMagicModule is the object, which is returned from our own module
if(MyMagicModule.foo == 'bar'){
MyMagicModule.init();
}
});
Copied!