5. SystemJS API - rbarilani/systemjs GitHub Wiki
For setting SystemJS configuration see the Configuration API page.
Type: Function
SystemJS configuration helper function. See the Configuration API.
Type: Function
This represents the System base class, which can be extended or reinstantiated to create a custom System instance.
Example:
var clonedSystemJS = new SystemJS.constructor();
clonedSystemJS.import('x'); // imports in a custom contextReturns a clone of the internal SystemJS configuration in use.
Type: Function
Deletes a module from the registry by normalized name. Returns true if the module was found in the registry before deletion.
SystemJS.delete('http://site.com/normalized/module/name.js');Deprecated for System.registry.delete(moduleName)
Type: Function
Returns a module from the registry by normalized name.
SystemJS.get('http://site.com/normalized/module/name.js').exportedFunction();Deprecated for System.registry.get(moduleName)
Type: Function
Returns whether a given module exists in the registry by normalized module name.
if (SystemJS.has('http://site.com/normalized/module/name.js')) {
// ...
}Deprecated for System.registry.has(moduleName)
Type: Function
Loads a module by name taking an optional normalized parent name argument.
Promise resolves to the ES module namespace value.
For loading relative to the current module, ES Modules define a __moduleName binding, so that:
SystemJS.import('./local', __moduleName);In CommonJS modules the above would be module.id instead.
This is non-standard, but covers a use case that will be provided by the spec.
Type: Function
Given any object, returns true if the object is either a SystemJS module or native JavaScript module object, and false otherwise. Useful for interop scenarios.
Type: Function
Given a plain JavaScript object, return an equivalent Module object.
Useful when writing a custom instantiate hook or using SystemJS.registry.set.
Type: Function
Declaration function for defining modules of the System.register polyfill module format.
Read more on the format at the loader polyfill page
Type: Function
Companion module format to System.register for non-ES6 modules.
Provides a <script>-injection-compatible module format that any CommonJS or Global module can be converted into for CSP compatibility.
Output created by SystemJS Builder when creating bundles or self-executing bundles.
For example, the following CommonJS module:
module.exports = require('pkg/module');Can be written:
System.registerDynamic(['pkg/module'], true, function(require, exports, module) {
module.exports = require('pkg/module');
});-
requireis a standard CommonJS-style require -
exportsthe CommonJS exports object, which is assigned to thedefaultexport of the module, with its own properties available as named exports. -
modulerepresents the CommonJS module object, withexportandidproperties set.
SystemJS registry object supporting:
-
SystemJS.registry.set(resolvedKey, namespace): Set a module namespace into the registry. -
SystemJS.registry.get(resolvedKey): Get a module namespace (if any) from the registry. -
SystemJS.registry.has(resolvedKey): Boolean indicating whether the given key is present in the registry. - `SystemJS.registry.delete(resolvedKey)``: Removes the given module from the registry (if any), returning true or false.
-
SystemJS.registry.keys: Function returning the keys iterator for the registry. -
SystemJS.registry.values: Function returning the values iterator for the registry. -
SystemJS.registry.entries: Function returning the entries iterator for the registry (keys and values). -
SystemJS.registry[Symbol.iterator]: In supported environments, provides registry entries iteration.
See also SystemJS.newModule.
Type: Function
Resolves module name to normalized URL.
Type: Function
Synchronous alternative to SystemJS.resolve.
Type: Function
Sets a module into the registry directly and synchronously.
Typically used along with SystemJS.newModule to create a valid Module object:
SystemJS.set('custom-module', SystemJS.newModule({ prop: 'value' }));Deprecated for System.registry.set(moduleName)
Note SystemJS stores all module names in the registry as normalized URLs. To be able to properly use the registry with
SystemJS.setit is usually necessary to runSystemJS.set(SystemJS.resolveSync('custom-module'), SystemJS.newModule({ prop: 'value' }));to ensure thatSystemJS.importbehaves correctly.