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.


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


 * styles
 * Styles to always include in the module.
 * File path string, or list of file path strings. The included file can be automatically wrapped in a  query by specifying the file path as the key in an object, with the value specifying the media query. Examples below:
 * 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. 


 * 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></>: