require.js没有加载我的模块

时间:2015-08-06 21:14:19

标签: javascript jquery html requirejs

我正在使用require.js和一个库。不幸的是,看起来当加载库时,结果返回为null。对不起,在使用require.js

时,我可能是个菜鸟

postmonger.js

    (function(root, factory){
       if(typeof define === 'function' && define.amd) {
        define('postmonger', [], function(){ return factory(root); });
        }else {
            root.Postmonger = factory(root);
        }
    }(this, function(root){
        root = root || window;
var Postmonger;
if (typeof(exports) !== 'undefined') {
        Postmonger = exports;
    } else {
        Postmonger = {};
    }
Postmonger.noConflict = function(){
        root.Postmonger = previous;
        return this;
    }
        console.log(Postmonger);
        return Postmonger;
    }));

加载postmonger库“customActivity”的代码

define([
    'js/postmonger'
], function(Postmonger){
    'use strict';
   // console.log(postmonger);
    console.log(Postmonger);
});

我的运行时脚本

<script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/require.js"></script>
    <script type="text/javascript">
        (function() {
            var config = {
                baseUrl: ''
            };

            var dependencies = [
                'customActivity'
            ];

            require(config, dependencies);
        })();
    </script>

加载页面时。第一个console.log返回一个对象,第二个返回Null。我一定错过了什么。

1 个答案:

答案 0 :(得分:1)

尝试使用postmonger代替js/postmonger

define([
    'postmonger'
], function(Postmonger){
    'use strict';
   // console.log(postmonger);
    console.log(Postmonger);
});

编辑 - 为什么加载javscript但是AMD模块为null / undefined。

当需要看到路径js/postmonger时,它会尝试下载找到的js/postmonger.js文件并成功加载。但是在这个文件中,我们有一个名为postmonger的命名模块,代码为

define('postmonger', [], function(){ return factory(root); });

因此,永远不会定义名称为js/postmonger的模块,因此您未定义。 (你应该根据我的理解得到未定义,但你已经提到它为null)

相关问题