前端框架选型是企业提升开发效率与用户体验的关键因素
779
2022-10-13
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-/kslite/", test:"http://demo.taobao.com/tbad/kslite"}
模块 inf-a 对应地址 http://a.alimama-/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.jsKSLITE.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);});
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~