最小系统加载工具 systemjs

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

 

时间: 2024-12-28 17:15:20

最小系统加载工具 systemjs的相关文章

Android性能优化之实现双缓存的图片异步加载工具(LruCache+SoftReference) - 拿来即用

之前在郭大神的博客看到使用LruCache算法实现图片缓存的.这里仿效他的思路,自己也写了一个. 并加入ConcurrentHashMap<String, SoftReference<Bitmap>>去实现二级缓存,因为ConcurrentHashMap是多个锁的线程安全,支持高并发.很适合这种频繁访问读取内存的操作. 下面整个思路是,使用了系统提供的LruCache类做一级缓存, 大小为运行内存的1/8,当LruCache容量要满的时候,会自动将系统移除的图片放到二级缓存中,但为

开发史上最强模块加载工具

haha好吧,我承认这篇文章有点标题党了. 这次要记录的是一个很简单的但是基本符合AMD规范的浏览器端模块加载工具的开发流程.因为自从使用过require.js.webpack等模块化加载工具之后就一直对它的实现原理很好奇,于是稍微研究了一下. 实现的方法有许多,但简单实现的话大致都会有这样几个过程: 1 实现模块的加载.从主模块说起,我们需要通过一个入口来加载我们的主模块的依赖模块,同时在加载完主模块依赖之后,能够取得所各依赖模块的返回值,并将它们传入主模块代码中,再去执行我们的主模块代码.函

win10系统加载ahci驱动的操作方案(Win10之家)

win10系统使用的过程中很多用户会想要加载ahci驱动,但是大部分用户根本不知道怎么操作加载ahci驱动,这样的话很多用户会遇到一些问题,那如果使用的过程中想要加载ahci驱动的话我们应该怎么操作呢?在这一次的教程里小编会把加载ahci驱动的操作方法分享给大家,有需要在win10系统中加载ahci驱动的用户直接跟着下面的教程操作就能轻松掌握加载ahci驱动的操作方法,相信大家都能成功掌握加载ahci驱动的操作方法. 推荐: win10 32位纯净版下载 具体方法如下: 1.进入系统后,点击开始

Android 4.X 系统加载 so 失败的原因分析

1 so 加载过程 so 加载的过程可以参考小米的系统工程师的文章loadLibrary动态库加载过程分析 2 问题分析 2.1 问题 年前项目里新加了一个 so库,但发现native 方法的找不到的 crash 好多,好些都是报了java.lang.unsatisfiedlinkerror native method not found,而且基本上是出现在4.x的系统里,特别是 4.4,4.2的系统.在网络上搜索相关的可能导致到这个问题的原因: so 文件没有在对应架构的目录里找到: 方法名有

Linux基础: 系统加载过程和运行级别含义

BIOS 有固化代码指向mbr,mbr指向grub(/boot/grub/下有很多引导配置信息),grub里可以配置多种linux内核vmlinux文件. 启动内核以后就开始加载各种驱动模块并进行系统初始化.系统初始化主要读取/etc/inittab(指定默认运行级别)和/etc/init/下各种配 置文件(指定默认启动服务,终端数目,快捷键……) ,运行完这些系统就启动完毕. 系统运行级别 0-关机 1-单用户 2-不带网络模式的多用户 3-多用户 4-不用 5-图形界面 6-重新启动 在命令

linux中环境变量和系统加载环境变量的顺序

系统环境变量: /etc/profile :这个文件预设了几个重要的变量,例如PATH, USER, LOGNAME, MAIL, INPUTRC, HOSTNAME, HISTSIZE, umask等等. /etc/bashrc :这个文件主要预设umask以及PS1.这个PS1就是我们在敲命令时,前面那串字符了,例如 [[email protected] ~]#, 用户环境变量: .bash_profile :定义了用户的个人化路径与环境变量的文件名称.每个用户都可使用该文件输入专用于自己使

161216、使用spring的DefaultResourceLoader自定义properties文件加载工具类

import java.io.IOException; import java.io.InputStream; import java.util.NoSuchElementException; import java.util.Properties; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.co

Vs2010 每次启动都重复累计加载工具 2c298b35-07da-45f1-96a3-be55d91c8d7a 启动慢的解决方法

安装了vs2010 和vs2013之后,vs2010 安装了第三方的控件,每次启动2010都installer  工具箱的packge     2c298b35-07da-45f1-96a3-be55d91c8d7a   ,查了一些资料,删除了注册表里的相关项后,解决了该问题. Searched through registry looking for "2c298b35-07da-45f1-96a3-be55d91c8d7a". Backed up the registry key

sama5d3 xplained 系统加载后确认使用的网口

[补充方案]在开发板上明确标识出了 ETH1及 ETH0/GETH标识号通过ifconfig发现只有eth0及lo两个网络接口,即可确定网线该插入eth0口. [原来解决方案]官方使用的文件系统是 Poky 1.5.11. 进入文件系统后检查网络配置情况,发现IP地址没有配置[email protected]_xplained:~# ifconfig eth0eth0      Link encap:Ethernet  HWaddr 06:b7:e8:f8:58:a1          UP B