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

parser.js not found on Google CDN for dojo 1.10.3

本文关键字:CDN 找不到 parser js Google dojo      更新时间:2023-10-22

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

找不到模块parser的404。它实际上指向谷歌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

我拿到文件了,可能是个bug?

问题不在URL内,但可能是由于使用dojoConfig配置的一些自定义包造成的。

以下是一个有效的示例(没有额外的配置):http://plnkr.co/edit/xgEi6qAPqKSNrUaoOQch?p=preview

如果您有自定义模块,并且正在使用CDN,那么您可能应该遵循本文中描述的指导原则。例如:

<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>