Manual:$wgResourceModules

Examples
Here is a basic example for usage in an extension.

You would put this in your   file.

You would put this in the main php file like  .

The above example will create a module called ' ', which includes the script  , the style  , and so on.

It also ensures that two modules ' ' and ' ' are available before execution.

Details
By default modules are registered as an instance of ResourceLoaderFileModule.

You find the according code in  .

Here is the documentation:


 * scripts
 * Scripts to always include.
 * File path string or array of file path strings.


 * languageScripts
 * Scripts to include in specific language contexts.
 * Array keyed by language code containing file path string or array of file path strings.


 * skinScripts
 * Scripts to include in specific skin contexts.
 * Array keyed by skin name containing file path string or array of file path strings.


 * debugScripts
 * Scripts to include in debug contexts.
 * File path string or array of file path strings.


 * loaderScripts
 * Scripts to include in the startup module.
 * File path string or array of file path strings.
 *  WARNING:   This parameter does not do what you think it does. Using   requires that you register your module before you can do anything else with it.  Specifying a script here will load the script in the header, but it will otherwise leave you with a crippled module.  See 1>bugzilla:43905</>|this bug for more information. 


 * dependencies
 * Modules which must be loaded before this module.
 * Module name string or array of module name strings.


 * styles
 * Styles to always load.
 * File path string or array of file path strings.


 * skinStyles
 * Styles to include in specific skin contexts.
 * Array keyed by skin name containing file path string or array of file path strings.


 * messages
 * Messages to always load
 * Array of message key strings.


 * group

Group which this module should be loaded together with
 * Group name string.
 *  See 1>Special:MyLanguage/ResourceLoader/Features#Groups</>|detailed documentation before using this. 


 * position
 * Position on the page to load this module at.
 * '<tvar|1>bottom</>' or '<tvar|2>top</>'.  Until MediaWiki 1.26, 'bottom' was the default. In MediaWiki 1.26, the default went away and this value had to be defined explicitly. 


 * class
 * Alternate subclass of ResourceLoader (rather than default ResourceLoaderFileModule). If this is used, some of the other properties may not apply, and you can specify your own arguments.  Since MediaWiki 1.30, it may now specify a callback function as an alternative to a plain class name, using the   key in the module description

array. This allows dependency injection to be used for ResourceLoader modules.
 * Class name of alternate subclass


 * skipFunction
 * Function that returns true when the module should be skipped. Intended for when the module provides a polyfill that is not required in modern browsers
 * Filename of a JavaScript file with a top-level return (it should not be wrapped in a function)


 * localBasePath
 * Base path to prepend to all local paths in $options. Defaults to <tvar|IP></>.
 * Base path


 * remoteBasePath
 * Base path to prepend to all remote paths in $options. Defaults to <tvar|ScriptPath></>.
 * Base path


 * remoteExtPath
 * Equivalent of remoteBasePath, but relative to <tvar|ExtensionAssetPath></>.
 * Base path

Loading module
See also <tvar|1></>: