systemjs 是一个最小系统加载工具,用来创建插件来处理可替代的场景加载过程,包括加载 CSS 场景和图片,主要运行在浏览器和 NodeJS 中。它是 ES6 浏览器加载程序的的扩展,将应用在本地浏览器中。通常创建的插件名称是模块本身,要是没有特意指定用途,则默认插件名是模块的扩展名称。
通常它支持创建的插件种类有:
-
CSS
System.import('my/file.css!')
-
Image
System.import('some/image.png!image')
-
JSON
System.import('some/data.json!').then(function(json){})
-
Markdown
System.import('app/some/project/README.md!').then(function(html) {})
-
Text
System.import('some/text.txt!text').then(function(text) {})
-
WebFont
System.import('google Port Lligat Slab, Droid Sans !font')
示例:
System.formats = ['amd', 'cjs', 'myformat', 'global']; System.format.myformat = { detect: function(source, load) { if (!source.match(formatRegEx)) return false; // return the array of dependencies return getDeps(source); }, execute: function(load, depMap, global, execute) { // provide any globals global.myFormatGlobal = function(dep) { return depMap[dep]; } // alter the source before execution load.source = '(function() {' + load.source + '}();'; // execute source code execute(); // clean up any globals delete global.myFormatGlobal; // return the defined module object return global.module; } }