AvalonJS是国内前端大神开发维护的一个迷你MVVM框架,它不像AngularJS大而全,但实现了常见业务逻辑中能用到的功能,这里就不再赘述,欲知详情,可前往官网了解

官网地址:http://avalonjs.github.io/

AvalonJS自带加载器,当然,如果是大的项目,我们可能在引入AvalonJS之前就在使用诸如RequireJS(AMD)、SeaJS(CMD)之类的加载器,而AvalonJS自带的加载器也是基于AMD的,对于我们使用SeaJS的来说,想引入AvalonJS看来只能是在源码上下功夫了。

分析发现,官方提供了关闭加载器的方式,同时也提供了不带加载器的版本,所以如果使用RequireJS作为项目加载器的话,直接关闭自带加载器或者下载无加载器版本(avalon.shim.js)即可,关闭方式如下

1、在源文件末尾或者引用页面最前端加上

avalon.config({
    loader: false
})

2、直接改掉源文件中

avalon.config({
    loader: true
})

改为

avalon.config({
    loader: false
})

到这一步,还是不能绑定到cmd加载器上,因为有如下判断

if (typeof define === "function" && define.amd) {
    define("avalon", [], function() {
        return avalon
    })
}

很明显,我们只需要删掉其中的define.amd判断或者改为

if (typeof define === "function" && (define.amd||define.cmd)) {
    define("avalon", [], function() {
        return avalon
    })
}

至于AvalonJS官方的UI库,由于大量使用了RequireJS或自带加载器的插件等,改动可能要大一些,这里适用于只使用AvalonJS的童鞋,代码可使用自己选用加载器的方式组织维护。