
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;
}
}