【问题标题】:RequireJS loading jquery-ui fails after optimizationRequireJS加载jquery-ui优化后失败
【发布时间】:2014-12-01 19:57:25
【问题描述】:

我不确定是什么原因造成的,但jquery-ui 优化后似乎不起作用。

没有优化,项目运行良好。 $ 包含 $.ui。 (我们称之为发展)

优化后,依赖jquery-ui的函数会失败,因为$.ui不存在。

我一直在搞乱 shims 并且需要几个小时,但结果总是一样的(或者更糟糕的是,$ 甚至无法正常工作,尽管它在未优化的版本中仍然有效。

我缺少什么逻辑?


requirejs.config({
    baseUrl     : 'js',
    waitSeconds : 10,
    urlArgs     : 'cache='+Date.now(),

    paths: {
        "conf"              : "remix/config",
        "jquery"            : "lib/jquery",
        "jqueryUi"          : "lib/jquery.ui",
        "domReady"          : "lib/domReady",
        "bootstrap"         : "lib/bootstrap",
        "jsviews"           : "lib/jsviews"
    },

    // I've had many configurations. 
    // Basically, develop almost always works, optimized never works.
    shim: {
        "jqueryUi"  : {
            deps        : ['jquery']
        },
        "jsviews"   : {
            deps        : ['jqueryUi']
        },
        "bootstrap" : {
            deps        : ['jsviews']
        }
    }

});

require(['domReady!', 'jsviews', 'jqueryUi', 'bootstrap'], function() {
    console.log($);
    // Develop: $.ui exists
    // Optimized: $ exists, $.ui does not. 
    // (And jsviews only in some modules.)
});

【问题讨论】:

    标签: jquery-ui requirejs requirejs-optimizer


    【解决方案1】:

    根据回答:https://stackoverflow.com/a/17536078/2463365 和参考教程:Load jQuery UI with requireJS。 我刚刚添加了exports: '$'

    shim: {
        "jqueryUi"  : {
            exports     : '$',
            deps        : ['jquery']
        },
    

    它有效。

    【讨论】:

    • 仅仅添加exports 设置并不能解决问题中描述的问题。
    • 我已经回到了这个问题,在我的情况下,这个问题是由直接调用未优化模块的第二个入口点引起的。 1.我已经加载了requirejs; 2.我已经加载了requirejs的配置; 3. 我已经运行了直接需要一些 utils 模块的脚本; 4. 我已经运行了需要缩小构建脚本的脚本,并在它的范围内调用主入口点。所以我最终得到了 2 个 jquery 实例(第一个是 3 的依赖项,未缩小;第二个来自 p.3 中构建的优化脚本)。在我重构代码并删除 p.3 之后,我的问题就解决了。
    • @Kiryl 我不太明白。你能更新你的答案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2014-07-24
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多