用requirejs加载AMD模块的问题


JQuery本身不是已经是AMD模块了么,为什么还需要用shim配置?
我将requirej换成esljs的时候会提示错误。

请教
1.为何文件都已经正常加载了。但是不能执行?
2.require的shim到底什么时候需要用 什么时候不需要?
我这里有个demo 关于amd模块加载的问题,请教一下为何会这样
项目结构


 --+amd.html
  +m1.js
  +m2.js
  +lib-+jquery.min.js
      -+require.js
      -+esl.js

m1.js


 define( function(require) {
    'use strict';
    function init(){
        var $ = require('./lib/jquery.min');
        $('body').css('background','red');
        alert('hello jQuery!');
    }

    return {
        init:init
    }
});

m2.js


 define(function(require) {
    'use strict';
    function ini(){
        var m1 = require('./m1');
        m1.init();
    }
    return{
        ini:ini
    }
});

amd.html


 <!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>TEST AMD</title>
</head>
<body>
    <script src="./lib/require.js"></script>
    <script>
        require(['./m2'],function(m2){
            m2.ini()
        })
    </script>
</body>
</html>

异步模块加载机制-amd jquery requirejs

相对1的⑥酱 9 years, 4 months ago

Your Answer