2

我不确定是什么原因造成的,但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.)
});
4

1 回答 1

-1

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

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

它有效。

于 2014-12-01T11:57:25.100 回答