javascript - 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

标签 javascript dojo amd

我正在使用谷歌的 CDN 并尝试使用他们的加载器加载我自己的 AMD 模块。我知道我做错了什么,但我被困住了。有什么想法吗?

    <script src="https://ajax.googleapis.com/ajax/libs/dojo/1.7.0/dojo/dojo.js" 
            type="text/javascript" data-dojo-config="async:true,parseOnLoad:true"></script>
    <script type="text/javascript">
        require(["dojo/_base/kernel", "dojo/_base/loader", "dojo/parser"], function(dojo){
            dojo.registerModulePath("pgGallery", "http://127.0.0.1:8080/js");
        });
        require(["pgGallery/Message"], function(m){
            m.success("foo");
        });
    </script>

http://127.0.0.1:8080/js/Message.js是模块的位置。

最佳答案

我在这里找到了解决方法:http://dojotoolkit.org/reference-guide/quickstart/cross-domain.html在“将 CDN 与本地模块结合使用”下。

页面示例:

<script type="text/javascript">
    var dojoConfig = {
        async: true,
        packages: [
            {
                name: "my",
                location: "/absolute/path/to/local/modules"
            }
        ]
    };
</script>

<!-- Bootstrap Dojo From Google's CDN -->
<!-- removing the protocol from src url auto detects if current page is served via http or https and also loads the dojo resources from matching protocol -->
<script
    type="text/javascript"
    src="//ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js">
</script>

<script type="text/javascript">
    require(["my/FooModule"], function(FooModule){
        // ...
    });
</script>

关于javascript - 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706588/

相关文章:

javascript - MVC 从 javascript 选择模型的数据

javascript - 给定特定 URL,使用 Javascript 获取页面源

javascript - 单击时在 div 中设置图像可见/隐藏

dojo - 如何定义模块并在 AMD 的 dojo 中使用它?

javascript - 重命名 webpack AMD 输出中的定义函数

javascript - 当焦点位于文本框中时,Jquery on click 不起作用

dojo - 寻找 Dojo MVC Controller 类作为基础

javascript - dojo的模板方法

javascript - 使用 dojo 验证/清除所有输入框

ubuntu - 在 ubuntu 16.04 中为 AMD 安装 OpenCL