-
Notifications
You must be signed in to change notification settings - Fork 66
全局函数
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.js
或name/index.js
或name/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/tool
和framework/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为真,则返回毫秒。