require.js使用(二)

同一项目不同页面,需加载不同的页面,如何针对不同的html,require不同的js文件,我的想法是每个页面都define成一个模块,根据页面标识,来requrie相应的模块

如目录下
index.html => index.js
detail.html => detail.js
search.html=> search.html

  1. 首先我们在页面的body标签上做一个标识,data-mark = 'index'

  2. 这样我们就能通过$('body').data('mark')获取到模块名。

example

//index.js
define(function(){
    return {
        init: function(){
          console.log(1)
        }
    }
});
//main.js
require(['jquery'],function($){
  var moduleName = $('body').data('mark');
  //根据moduleName执行对应的模块
    require([moduleName],function(m){
        m.init()  //输出1
    })
})

注意modelname必须在require.config中进行配置

将获取标识的这段代码再封装一下

//mark.js
define(function(){
    return $('body').data('mark')
    }
});
//main.js
require(['jquery','mark'],function($,mark){
  //根据moduleName执行对应的模块
    require([mark],function(m){
        m.init()  //输出1
    })
})

继续封装一下呢?

你可能感兴趣的:(require.js使用(二))