0

我遇到了一个奇怪的错误。编辑发生在 Firefox 中,但不是 Chrome

在我的 HTML 页面中,我有这个:

    <script type="text/javascript">              
          require(['blah']);
    </script>

在名为 someFileNameNotNamedBlah.js 的 javascript 文件中,我有这个:

define(
    'blah',
    ['jquery', 'amplify', 'config' ],
    function ($, amplify, config) {
    ...
});

浏览器似乎在寻找 blah.js... 为什么?我该如何解决?

Firebug 寻找不存在的文件名

4

1 回答 1

0

您需要问自己的问题是:鉴于 RequireJS 通过 XHR 请求异步加载模块,它如何知道blah调用的文件中查找模块,someFileNameNotNamedBlah.js除非它被告知它位于何处?

您应该在paths配置中为模块定义别名:

require.config({
    paths: {
        blah: 'someFileNameNotNamedBlah'
    }
});

然后,您可以从模块中删除模块名称:

define(['jquery', 'amplify', 'config' ], function ($, amplify, config) {
    //...
});

并通过别名找到它:

require(['blah']);
于 2013-01-17T10:57:12.127 回答