Interface ModuleManager
- All Known Implementing Classes:
ModuleManagerImpl
Responsible for managing access to the JavaScript modules.
The configuration of the service allows overrides of the default search path; the configuration keys
are module names, and the configuration values are the
JavaScriptModuleConfiguration definitions for those module names.
This is primarily used to wrap non-AMD compliant libraries for use with RequireJS (via contributed JavaScriptModuleConfigurations).- Since:
- 5.4
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionfindResourceForModule(String moduleName) Given a module name (which may be a path of names separated by slashes), locates the correspondingResource.voidwriteConfiguration(Element body, List<ModuleConfigurationCallback> moduleConfigurationCallbacks) Invoked by the internalDocumentLinkerservice to write the configuration for the module system into the page.voidwriteInitialization(Element body, List<String> libraryURLs, List<?> inits) Invoked by the internalDocumentLinkerservice to write the initializations (as perJavaScriptSupport.require(String)into the page; this occurs after the module infrastructure has been written into the page, along with the core libraries.
-
Method Details
-
writeConfiguration
void writeConfiguration(Element body, List<ModuleConfigurationCallback> moduleConfigurationCallbacks) Invoked by the internalDocumentLinkerservice to write the configuration for the module system into the page.- Parameters:
body-<body>element of the page, to which new<script>element(s) will be added.moduleConfigurationCallbacks- a list ofModuleConfigurationCallbacks, which is used to customize the configuration before it is written.
-
writeInitialization
Invoked by the internalDocumentLinkerservice to write the initializations (as perJavaScriptSupport.require(String)into the page; this occurs after the module infrastructure has been written into the page, along with the core libraries.- Parameters:
body-<body>element of the page, to which new<script>element(s) will be added.libraryURLs- additional libraries that should be dynamically loaded before evaluating the initsinits- specify initialization on the page, based on loading modules, extacting functions from modules, and invoking those functions
-
findResourceForModule
Given a module name (which may be a path of names separated by slashes), locates the correspondingResource. First checks for contributed shim modules, then searches for possible matches among the defined library names. As a special case, the folder name "app" is mapped to the application's package.- Parameters:
moduleName- name of module to locate- Returns:
- corresponding resource, or null if not found
-