requireJs学习笔记

加载JavaScript文件

index.html


RJ(require.js)是一个以相对于baseUrl的地址来加载所有的代码。
RJ使用

或者


    var require = {
        deps: ['module1','module2','module3'],
        callback: function(m1,m2,m3) {}
    }


这时候baseurl为引用RJ的HTML页面所在的路径。

shim:为那些没有使用define()来声明依赖关系、设置模块的“浏览器全局变量注入”型脚本做依赖和导出配置。

requirejs.config({
    shim: {
        'backbone': {
            deps: ['underscore','jquery'],
            //Once loaded, use the global 'Backbone' as the module value.
            exports: 'Backbone'
        },
        'underscore': {
            exports: '_'
        },
        'foo': {
            deps: ['bar'],
            exports: 'Foo',
            // this 被赋值为global对象
            // 依赖模块可以通过参数传进去
            // 返回值作为global.Foo的值
            init: function(bar) {
                return this.Foo.noConflict()
            }
        }
    }
})

存在而不导出任何模块变量的模块们,shim配置可简单的设为依赖数组。

requirejs.config({
    shim: {
        'jquery.colorize': ['jquery'],
        'jquery.scroll': ['jquery'],
        'backbone.layoutmanager': ['backbone']
    }
})


定义模块

简单的值对

define({
    color: 'black',
    sieze: 'unsize'
})

函数是定义

// 自定义模块名会使模块不具备移植性
// 依赖模块可在前面加“./”来引入统一路径下模块
define('myDefineModule', ['module1'], function(m1) {
    // 返回值也可以是个函数
    return {
        color: 'black',
        size: 'unsize'
    }
})


模块的引用

require(['module1','module2','module3'], function(m1,m2,m3) {})

你可能感兴趣的:(requireJs学习笔记)