1 Star 0 Fork 1

jeArts / im.js

forked from tangoboy / im.js 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Imjs v1.3

A tiny javascript module loader

im.js is a simple solution to modular javascript development.

Only 2.3 KB gzipped (4.3 KB minified)

Features

  • 符合AMD的匿名模块规范,不需声明别名
  • 支持模块缓存,不需多次请求
  • 模块多依赖支持
  • 多模块并行加载(仅支持并行加载)
  • 支持对模块循环依赖关系检测
  • 支持模块合并,im-dev.js版同时有模块加载和模块合并功能
  • 路径保持简单,约定模块路径都相对于Im.js路径或者是带域名的绝对的地址

How to use

1.简单上手

定义模块 foo.js:

define(function(){

    //在模块内实现一些功能(函数、类、甚至库等), 最后返回 
    return "this is foo!";

});

调用 foo.js 模块:

require("foo",function(foo){

   //foo模块的返回值会当参数传入
   
   alert(foo);//调用模块返回的值

});

2.模块依赖关系

定义模块 bar.js (需要依赖foo.js)

define(['foo'], function(foo){
    return {
		name:foo, //来自模块foo的返回值
		showName:function(){
			alert(this.name);
		}
	};
});

调用 bar.js 模块:

require("bar",function(bar){
   bar.showName();
});

这里require模块bar时,

依赖顺序为: 入口 => bar => foo

执行顺序为: foo => bar => 入口

当大规模开发时,模块就可能有很多,依赖关系复杂,而Im.js就是用来管理这些模块的。

下图是实际开发中可能出现的关系图:

其中合法的依赖关系为:

0 -> 1 -> 2 -> 4

0 -> 1 -> 3 -> 4

0 -> 1 -> 5 -> 6

出现循环的关系是:

0 -> 1 -> 7 -> 8 -> 9 -> 1 这是不合法的,Im.js会检测出循环依赖并报错。


For more advanced usage check the 快速上手模块合并.

This software is released under the MIT license.

空文件

简介

A tiny javascript module loader 一个微型的js模块加载器 展开 收起
JavaScript
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/arts1986/im-js.git
git@gitee.com:arts1986/im-js.git
arts1986
im-js
im.js
master

搜索帮助