Javascript jQuery不能与RequireJS一起使用

Javascript jQuery不能与RequireJS一起使用,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我知道我的问题与此非常相似,但我有同样的问题,没有一个解决方案适合我 我的目录结构如下所示: static lib require.js jquery-1.11.3.js progressbar.js client client.messages.js client.js main.js config.js 我的HTML文件如下所示: <script src="{{ ur

我知道我的问题与此非常相似,但我有同样的问题,没有一个解决方案适合我

我的目录结构如下所示:

static
    lib
        require.js
        jquery-1.11.3.js
        progressbar.js   
    client
        client.messages.js
        client.js
    main.js
    config.js
我的HTML文件如下所示:

<script src="{{ url_for('static', filename='scripts/lib/require.js') }}"></script>

<script>
    var require = {
        baseUrl: "/static/script",
        paths: {
        /* Load common libraries from CDN and fallback to local versions. */
        "jquery":      "lib/jquery-1.11.3.min.js",
        "progressbar": "lib/progressbar.min.js",
        "messages":    "client/client.messages.js"
        }
    };
</script>

<script src="{{ url_for('static', filename='scripts/main.js') }}"></script>
然后HTML文件是这样的:

var require = {
        baseUrl: "/static/script",
    paths: {
        /* Load common libraries from CDN and fallback to local versions. */
        "jquery":      "lib/jquery-1.11.3.min.js",
        "progressbar": "lib/progressbar.min.js",
        "messages":    "client/client.messages.js"
    }
};
<script src="{{ url_for('static', filename='scripts/config.js') }}"></script>
<script src="{{ url_for('static', filename='scripts/lib/require.js') }}"></script>
<script src="{{ url_for('static', filename='scripts/main.js') }}"></script>
我得到的错误是:

未捕获引用错误:$未定义

对于
bodyload()中的此行:


我错过什么了吗?

嗯。。。您正在加载RequireJS,您已经对其进行了配置,但是您没有使用它

获得您想要的东西的一种方法是:

var bodyLoaded = function () {
    //load scripts first
    var scripts = ['static/scripts/client/client.messages.js', 'static/scripts/client/client.js'];
    require(['jquery'], function ($) {
        $.getScript(scripts[0], function () {
            $.getScript(scripts[1], function () {
                pluginCheck();
            });
        });
     });
};
我已经添加了
require(['jquery']),…
,以便jquery实际得到加载

话虽如此,很可能这不是您想要结束的解决方案。首先,在我看来,
client.messages.js
client.js
是加载RequireJS的候选对象,因此,实际上,应该配置RequireJS来查找它们(我在配置中看到了
client.message.js
,但没有看到
client.js
)。您很可能需要使用
shim
来定义它们之间的依赖关系


我建议您仔细阅读。

好吧……您正在加载RequireJS,您已经配置了它,但是您没有使用它

获得您想要的东西的一种方法是:

var bodyLoaded = function () {
    //load scripts first
    var scripts = ['static/scripts/client/client.messages.js', 'static/scripts/client/client.js'];
    require(['jquery'], function ($) {
        $.getScript(scripts[0], function () {
            $.getScript(scripts[1], function () {
                pluginCheck();
            });
        });
     });
};
我已经添加了
require(['jquery']),…
,以便jquery实际得到加载

话虽如此,很可能这不是您想要结束的解决方案。首先,在我看来,
client.messages.js
client.js
是加载RequireJS的候选对象,因此,实际上,应该配置RequireJS来查找它们(我在配置中看到了
client.message.js
,但没有看到
client.js
)。您很可能需要使用
shim
来定义它们之间的依赖关系


我建议您仔细阅读。

您是否尝试过将
$
更改为
jQuery
?对不起,您能把您的观点说得更清楚一点吗?我到底可以更改什么?尝试将代码
$.getScript(…
更改为
jQuery.getScript(…
不,有(几乎)相同的错误:“未捕获引用错误:未定义jQuery”您是否尝试更改
jQuery
$
?对不起,您能否更清楚地说明您的观点?我可以更改什么?请尝试将代码
$.getScript(…
更改为
jQuery.getScript(…
不,存在(几乎)相同的错误:”未捕获引用错误:jQuery没有定义“非常感谢!这就是问题所在。我到目前为止还没有使用
client.js
,这就是我没有加载的原因。非常感谢!这就是问题所在。我到目前为止还没有使用
client.js
,这就是我没有加载的原因。
$.getScript(scripts[0], function () {
var bodyLoaded = function () {
    //load scripts first
    var scripts = ['static/scripts/client/client.messages.js', 'static/scripts/client/client.js'];
    require(['jquery'], function ($) {
        $.getScript(scripts[0], function () {
            $.getScript(scripts[1], function () {
                pluginCheck();
            });
        });
     });
};