登录

javascript - RequireJS的模块化管理只针对单个页面?


/** 文件目录 **/
  + - app.html
  |
  + - main.js
  |
  + - script
      |
      + - a.js
      |
      + - b.js
      |
      + - jquery.min.js
      |
      + - angular.min.js
//a.js
define({
    name : 'William'
});
//b.js
define(['a'],function(a){
    return {
        sayHello : function(){
            console.info('hello,my name is' + a.name);
        }
    }
})
//main.js
require.config({
    baseUrl : 'script',
    paths : {
        'a' : 'a',
        'jquery' : 'jquery.min',
        'angular': 'angular.min'
    },
    shim : {
        angular : {
            exports : 'angular'
        }
    }
});
require(['b','a','jquery','angular'],function(b,a,$,angular){
    //测试代码
    b.sayHello();    
    console.info("name:" + a.name);
    $(document).ready(function(){
        console.info('jquery is ready');
    });
    try{
        angular.module('testModule',[]);
    }catch(e){
        console.error(e.message);
    }
});
<!-- app.html  -->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script data-main='main.js' src="//cdn.bootcss.com/require.js/2.3.3/require.js"></script>
    </body>
</html>
# JavaScript
ringa_leeringa_lee2208 天前360 次浏览

全部回复(2) 我要回复

  • PHP中文网

    PHP中文网2017-04-11 12:46:54

    每个页面确实要引用,但是可以将require.config配置的内容也放进一个单独的文件中

    //common.js
    requirejs.config({
        baseUrl: 'js/lib',
        paths: {
            app: '../app'
        }
    });

    见例子https://github.com/requirejs/...

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 12:46:54

    配合r.js可以达到,只写一套。http://www.cnblogs.com/smartXiang/p/6487192.html

    回复
    0
  • 取消回复发送