Attention
TYPO3 v12 has reached end-of-life as of April 30th 2026 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v12 here: TYPO3 ELTS.
Loading your own or other RequireJS modules
Attention
Deprecated since version 12.0
The RequireJS project has been discontinued and was therefore replaced by native ECMAScript v6/v11 modules in TYPO3 v12.0. The infrastructure for configuration and loading of RequireJS modules is deprecated with v12.0 and will be removed in TYPO3 v13. See RequireJS to ES6 migration.
In case you use the ready event, you may wonder how to use the module.
Answer: it depends! If you use Fluid's
f: view helper
add the argument
include:
<f:be.pageRenderer includeRequireJsModules="{
0:'TYPO3/CMS/FooBar/Wisdom'
}" />
However, if you don't use Fluid you may use
Page in your controller:
$pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
$pageRenderer->loadRequireJsModule('TYPO3/CMS/FooBar/MyMagicModule');
Bonus:
load takes a second argument
$call which is executed right after the module
was loaded. The callback function must be wrapped within
function:
$pageRenderer->loadRequireJsModule(
'TYPO3/CMS/FooBar/MyMagicModule',
'function() { console.log("Loaded own module."); }'
);