requirejs加载文件

用script引入require.js文件。加载requirejs脚本的script标签加入了data-main属性,这个属性指定的js将在加载完reuqire.js后处理

<script type="text/javascript" src="./lib/requirejs/require.js" data-main="main">script>

require.config是用来配置模块加载位置,加载js

require.config({
    paths : {
        "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery"],
        "a" : "js/a"   
    }
})
require(["jquery","a"],function($){
    $(function(){
        alert("load finished");  
    })
})

paths还有一个重要的功能,就是可以配置多个路径,如果远程cdn库没有加载成功,可以加载本地的库

require.config({
    paths : {
        "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery", "js/jquery"],
        "a" : "js/a"   
    }
})
require(["jquery","a"],function($){
    $(function(){
        alert("load finished");  
    })
})

requirejs.config配置paths,配置目录和配置文件的区别

requirejs.config({
    baseUrl: 'libs',
    paths: {
        "cores": 'cores',
        "utils": 'utils',
        "services": 'services'
    }
});

require(["cores/core1","cores/core2","utils/util1","utils/util2","services/service1","services/service2"], function() {


});

配置目录的好处在于:不需要在main.js中配置每一个模块id和模块js文件的映射关系,能够减少main.js中配置的数量。配置文件的好处在于:模块id更加简单

总结下,requirejs是如何加载”path/module”这种格式的模块了。

1.首先看requirejs.config()中paths是否配置了”path/module”这个配置项。如果配置了,”path/module”会被认为是一个普通的模块名。如果没有配置,那么执行第二步。

2.将”path/module”看成是文件系统上的路径,通过目录和文件名来确定需要加载的模块。如果仍然没有找到,那么requirejs会报错。

你可能感兴趣的:(requirejs)