在Google CDN上找不到dojo 1.10.3的parser.js

时间:2015-02-13 08:14:52

标签: javascript ajax dojo cdn google-cdn

我正在使用Google CDN来获取DOJO。

这是我在我的网站上使用的代码。

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.3/dojo/dojo.js"></script>

在我的代码模块中调用&#39; dojo / parser&#39;像这样

define([
    'dojo/topic',
    'dojo/parser',
    'dijit/registry'
], function (topic, parser) {
    var instance;

    function Test() {
    }
    Test.prototype = {
        init: function () {
            }.bind(this));
        }
    };
    return function getInstance() {
        return (instance = (instance || new Test()));
    };
});

我找不到模块parser的404。 它实际上指向Google CDN的地址:

http://ajax.googleapis.com/ajax/libs/dojo/1.10.3/dojo/dojo.js/parser.js

  • 为什么CDN上缺少模块?或者我在代码中遗漏了什么?
  • 知道从何处或如何加载它?

注意:如果我手动将地址更改为

http://ajax.googleapis.com/ajax/libs/dojo/1.10.3/dojo/parser.js

我收到文件,可能是个错误?

1 个答案:

答案 0 :(得分:1)

问题不在URL中,但可能是由于使用dojoConfig配置了一些自定义程序包。

这是一个有效的示例(没有其他配置):http://plnkr.co/edit/xgEi6qAPqKSNrUaoOQch?p=preview

如果您有自定义模块并且正在使用CDN,则应该遵循this article中描述的准则。例如:

<script>
    var dojoConfig = {
        async: true,
        packages: [{
            name: 'custom',
            location: location.pathname.replace(/\/[^/]+$/, '') + '/custom'
        }]
    };
</script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.3/dojo/dojo.js"></script>