RequireJS模块尝试加载填充模块

时间:2013-07-17 19:50:54

标签: requirejs shim

我在尝试为我的组织中的另一个团队编写的某些javascript代码创建RequireJS垫片时遇到问题。该脚本通过noraml HTML脚本加载:

<script src="MyCustomModule.js" type="text/javascript"></script>

我的main.js包含以下内容:

requirejs.config({
    paths: { 'text': 'durandal/amd/text' },
    shim: {
        'MyCustomModule': { exports: 'My.Custom.Module' }
    }
});

我尝试过以各种方式访问​​自定义模块,但这是我目前的代码:

define(['MyCustomModule'], function (require, MyCustomModule) {
 ...
}

但是每次页面/应用程序加载时我都会从RequireJS收到错误,表明它无法加载app/MyCustomModule.js(我可以在控制台中看到404错误,它试图从服务器请求文件) 。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您还需要在MyCustomModule中加入paths

requirejs.config({
    paths: {
        'text': 'durandal/amd/text'
        'MyCustomModule': 'path/to/MyCustomModule'
    },
    shim: {
        'MyCustomModule': {
            exports: 'My.Custom.Module'
        }
    }
});

如果您不这样做,define(['MyCustomModule'] (...)将在baseUrl位置查找依赖关系,在您的情况下:app/MyCustomModule


换句话说:shim无法“拾取”未被RequireJS加载的全局变量。

相关问题