Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

genesys/modkit-loader

Repository files navigation

Modkit Loader

Quality Gate Status Coverage Version Downloads License

Modkit Loader is a customization library that allows you to add modules to your application, at runtime.

Documentation

Full documentation website can be found here.

Installation

With any web UI Framework

# Install the dependency
npm install modkit-loader --save
// Javascript
const Modkit = require('modkit-loader');
// ES6 or TypeScript
import * as Modkit from 'modkit-loader';

With CDN

As Modkit Loader uses code-splitting, we cannot bundle the library as a standard UMD build. With modern browsers, that's not an issue, but when targeting IE11, you'll need something more.

<!-- Modern Browsers -->
<script type="module">
 import * as Modkit from 'https://unpkg.com/modkit-loader/dist/module/index.js';
 // Modkit is available
</script>
<!-- IE11 (Needs polyfills and systemjs before loading)-->
<script nomodule src="https://unpkg.com/bluebird/js/browser/bluebird.core.min.js"></script>
<script nomodule src="https://unpkg.com/whatwg-fetch/dist/fetch.umd.js"></script>
<script nomodule src="https://unpkg.com/systemjs/dist/s.min.js"></script>
<script nomodule>
 System.import('https://unpkg.com/modkit-loader/dist/system/index.js').then(function (Modkit) {
 // Modkit is available
 });
</script>

Usage

Load a module

Once the Modkit Singleton is imported, you can load a module:

Modkit.load('/path/to/my-module/manifest.json')
 .then((m) => {
 // Here, "m" is an object containing all manifest properties along with other computed properties
 m.mod // This is the module itself
 m.rootPath // This is the root path to the module build, that is helpful for static assets
 });

Features

  • Dynamically load packages at runtime, supporting all formats via a single load method.
  • Will automatically load what is needed depending on the module format (require.js for amd modules, system.js for system modules).
  • Has module manifest validation (global and on-load)
  • Supports module dependencies (libraries or other modules), with semver versioning for compatibility.

License

AltStyle によって変換されたページ (->オリジナル) /