【问题标题】:Single Optimized Module returns Undefined in RequireJS单一优化模块在 RequireJS 中返回未定义
【发布时间】:2015-01-02 02:21:15
【问题描述】:

使用 r.js 优化 AMD 模块及其依赖项后,出现此错误....

Uncaught TypeError: undefined is not a function

如果我加载未优化的 AMD 模块并让 requirejs 动态加载其所有依赖项,它可以正常工作。

这是我加载模块的方式...

require(['jquery', "templates/mainmodule"],
    function ($, mainmodule) {

        var mainModuleObject = new mainmodule();

}

主模块及其依赖项已正确检索(我使用 Fiddler 看到它),但当我尝试实例化主模块时未定义它。我的配置映射是正确的,Underscore 和 jquery 的垫片也很好。不使用主干。具有所有非 AMD 模块的导出。控制台中没有出现模块加载错误。

关于如何解决此问题的想法?

【问题讨论】:

    标签: javascript requirejs load amd shim


    【解决方案1】:

    花了 8 个小时解决了这个非常愚蠢的问题。

    Require JS Optimizer 将为您的模块动态创建模块 ID。当您为要优化的模块指定“name”和“out”时,分别指定优化后的模块的名称,“name”应该是模块文件路径,末尾没有“.js”。 “out”结尾应该有“.js”。如果您在要优化的模块的文件路径末尾包含“.js”,它将将该后缀添加到模块 ID 中,无论出于何种原因,这都会终止整个执行过程,而不会出现任何指示模块 ID 问题的错误.天哪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 2016-12-24
      • 2013-07-29
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多