KSLITE 模块管理程序

程序名称:KSLITE

授权协议: 未知

操作系统: 跨平台

开发语言: JavaScript

KSLITE 介绍

KsLite 是 10
年开发的一个短小精悍的模块加载器,特别适合在广告投放、广告创意等第三方应用中使用。它的种子文件本身支持异步加载,并可以被多次加载。而其本身已具有现代模块加载器必备的异步的多层依赖处理机制和较完善的包管理及打包机制。

包和模块管理:

模块名由包名,路径,文件名。三部分构成 如 {packagename}-{path_0}-...-{path_n}-{filename}包类似
*.jar,每个包对应一个 codebase 即 classesroot。在 S.config.lt_pkgs 中配置 是一个 http
地址,如果没有则以为 kslite 所在地址为 base。 比如:

S.Config.lt_pkgs={
    inf:"http://a.alimama.cn/kslite/",
    test:"http://demo.taobao.com/tbad/kslite"}

模块 inf-a 对应地址 http://a.alimama.cn/kslite/inf/a.js 模块 test-t-1 对应地址
http://demo.taobao.com/tbad/kslite/test/t/1.js

这样根据模块名称即可定位模块地址,所以不需要 add 预先注册模块即可直接 use。 add 不执行 attach。只有第一次 use 的时候才执行
attach。 add 同样支持 require。可以在载入 js 后根据 require 串行加载更多模块。已处理循环引用问题,办法很土。 暂时不支持
use 外部 JS 文件,如 use("jquery.js");

一些说明

文件使用utf-8编码, 在合并到别的工程的时候手工编码转换

使用方法

约定禁止不加模块id, 不允许使用下面的形式

// 文件及路径, test包下的math模块, 以下类似
//test/math.js 
KSLITE.declare([], function(require, exports){
    exports.add = function(a, b){
        return a + b;
    };
});

下面是正确的写法

// 文件及路径, test包下的math模块, 以下类似
//test/math.js 
KSLITE.declare('test-math', function(require, exports){
    exports.add = function(a, b){
        return a + b;
    };
});
//  test/program.js
KSLITE.declare('test-program', ["test-increment"], function(require, exports){
    var inc = require("test-increment").increment;
   exports.result = inc(1);
});
//  调用
KSLITE.provide(["test-program"], function(require){
    alert(require("test-program").result);
});

KSLITE 官网

https://github.com/thx/kslite

相关编程语言

MuPlayer 是一款跨平台、轻量级的音频播放解决方案,...
OS FLV 是一个 开源和可嵌入网页的flv播放器。 这个...
DewPlayer音乐播放器,样式很简单,而且很实用.播放器...
JW FLV MEDIA PLAYER是一个开源的在网页上使用的Fla...
Speakker 是一个基于 Web 浏览器的音乐播放器,只提...
Player Framework 是一个开源的支持 HTML5 的视频播...