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

parser.js not found on Google CDN for dojo 1.10.3

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

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

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

像这样调用我的代码模块时 'dojo/parser'

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()));
    };
});

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

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

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

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

我得到了文件,可能是一个错误?

问题不在 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>