如何定义与其文件名不同的模块?

时间:2013-01-16 16:57:41

标签: requirejs

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

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

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

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

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

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

Firebug looking for a filename that is not there

1 个答案:

答案 0 :(得分:0)

你需要问自己的问题是:鉴于RequireJS通过XHR请求异步加载模块, 如何知道在名为{的文件中查找模块blah {1}}除非告诉它住在哪里?

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

someFileNameNotNamedBlah.js

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

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

通过别名找到它:

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