Skip to content
杨捷 edited this page Dec 11, 2013 · 6 revisions

Codekart 包含很少一部分全局函数,作为对整个框架的基础性支持,你也可以很方便的使用他们,省去每次require的操作 。

framework/core/function.js里面定义,说明如下:

require_core(name,ext)

加载位于framework/core/下的框架核心模块,name为文件名,可以是一个路径,比如name为view/data,即加载framework/core/view/data.js文件,下同。ext为文件类型后缀,不传默认为js,注意不需要点号,比如正确的是require_core('file','js')而不是require_core('file','.js'),下同。

require_model(name,ext)

加载位于app/model/下的model模块。

require_lib(name,ext)

首先搜索app/lib/目录,按顺序查看是否存在name.jsname/index.jsname/name.js文件,如果不存在则按同样方式搜索framework/lib目录,仍然不存在则会报错,注意:最先搜索的的模块将被默认使用,比如在存在framework/lib下已存在less模块,如果app/lib下也存在一个同名的less模块,程序只会加载framework/lib下的。require_tool按相同的方式处理。

require_tool(name,ext)

首先搜索app/tool/目录,如果不存在则搜索framework/tool目录,仍然不存在则会报错。

关于framework目录中,lib和tool的存放模块的类型,遵循如下规则:lib放置外部第三方模块,例如一些开源的库,不需要修改它们的代码,只是直接拿来使用的。tool目录下的模块,是在开发过程中提炼出来可被重用的工具和方法,作为一个工具箱归类保存。app目录下的lib和tool模块,建议使用同样的分类方式。

require_config(name,ext)

首先加载app/config,不存在则加载framework/config目录下的模块,它们是一些配置文件,或者数据结构定义,或者常量等等。

require_lib require_tool require_config 三个函数,都是默认优先加载app路径下的对应模块,如果需要优先加载framework下的模块,则在name参数前加一个!感叹号,比如app/toolframework/tool下都存在array.js文件,require_tool('array')会加载app/tool下面的,而require_tool('!array')会加载framework/tool下面的。注意:由于这种模式,新建文件和文件夹类不能带有!感叹号,否则会引起冲突。

load对象

load对象用来加载一些资源文件等等。它包含一些方法:

load.resource(filename,opt,callback)

加载app/resource下或者framework/resource下的文件,参数filename为文件路径,必须带扩展名。加载方式跟require_config等相似,只不过返回的内容不是模块对象,而是磁盘文件的内容。callback是回调函数,如果定义了callback,则以异步方式加载,并在callback(err,data)回调中传入错误信息和文件内容。如果为传入callback则以同步方式加载,则在load.resource(...)同步返回文件内容。注意:filename参数前加!感叹号,也表示优先加载framework下的。

inheritView(name)

继承web页面,在web页面配置下有说明。

time(ms)

返回当前的时间戳(秒),如果参数ms为真,则返回毫秒。

Codekart


Clone this wiki locally