systemjs是一个最小系统加载工具,用来创建插件来处理可替代的场景加载过程,包括加载CSS场景和图片,主要运行在浏览器和NodeJS中。它是ES6浏览器加载程序的的扩展,将应用在本地浏览器中。通常创建的插件名称是模块本身,要是没有特意指定用途,则默认插件名是模块的扩展名称。
通常它支持创建的插件种类有:
CSSSystem.import('my/file.css!')
ImageSystem.import('some/image.png!image')
JSONSystem.import('some/data.json!').then(function(json){})
MarkdownSystem.import('app/some/project/README.md!').then(function(html){})
TextSystem.import('some/text.txt!text').then(function(text){})
WebFontSystem.import('googlePortLligatSlab,DroidSans!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; } }
评论