fx模块在Dojo中没有得到解决

时间:2017-12-11 08:31:34

标签: javascript dojo

我对道场很新。尝试文档中给出的基本示例。这是我的代码

<body>
    <h1 id="greeting">Hello</h1>

    <!-- configure Dojo -->
    <script>
        var dojoConfig = {
            async: true
        }
    </script>

    <!-- load Dojo -->
    <script src="/public/dojo.js"></script>

    <script>
        require([
            'dojo/fx',
            'dojo/dom',
            'dojo/domReady!'
        ], function (fx, dom) {
            // The piece we had before...
            var greeting = dom.byId('greeting');
            greeting.innerHTML += ' from Dojo!';

            // ...but now, with an animation!
            fx.slideTo({
                node: greeting,
                top: 100,
                left: 200
            }).play();
        });
    </script>
</body>

我正在使用节点服务器来提供静态资产。弹出错误是

  

获取http://localhost:3000/public/fx.js net :: ERR_ABORTED

我无法弄清楚为什么在这里寻找一个单独的文件fx.js?

如果我将该行更改为此

require([
            'dojo/_base/fx',
            'dojo/dom',
            'dojo/domReady!'
        ]

这次它没有从_base / fx.js中找到单独的文件。

请帮我解决这个问题。

修改

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js" data-dojo-config="async: true"></script>

如果我从cdn引用它的工作,而不是从本地服务。

1 个答案:

答案 0 :(得分:1)

我弄明白了原因,

如果我需要fx模块

 require([
            'dojo/fx',
            'dojo/dom',
            'dojo/dom-construct',
            'dojo/domReady!'
        ]

使用此cdn链接

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

当我看到网络请求时,脚本会在内部触发对此URL的请求

http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/fx.js

所以它没有任何错误。在我的本地设置中,文件(fx.js)丢失了。所以发生错误。因为在示例中只提到了一个指向dojo.js的URL链接,我只下载了该文件而错过了放入此fx.js文件。