RequireJS and jQuery plugin

RequireJS and jQuery plugin

本文关键字:plugin jQuery and RequireJS      更新时间:2024-03-03

我从RequireJS开始,在加载jquery插件时遇到问题。基本上,当插件加载时,它的上下文中没有jQuery,尽管我在配置中做了一个填充程序来解释它。从我已经看到的,这似乎是加载没有AMD定义的插件的正确方法,我不明白为什么它在这种情况下不起作用。

这是我的代码:

require.config({
    paths: {
        "angular-mocks": "lib/angular-mocks/angular-mocks",
        "angular-route": "lib/angular-route/angular-route",
        "angular": "lib/angular/angular",
        "angular-scenario": "lib/angular-scenario/angular-scenario",
        "jquery": "lib/jquery/jquery",
        "bootstrap": "lib/bootstrap/docs/assets/js/bootstrap",
        "requirejs-text": "lib/requirejs-text/text",
        "less" : "lib/less/dist/less-1.4.2"
    },
    baseUrl: '/static/js',
    shim: {
        'angular' : {'exports' : 'angular'},
        'angularRoute': ['angular'],
        'angularMocks': {
            deps:['angular'],
            'exports':'angular.mock'
        },
        "bootstrap": ['jquery']
    },
    priority: [
        "angular"
    ],
    urlArgs: 'v=0.1'
});

require(['jquery', 'bootstrap'], function($){
    console.log($);
});

当我执行console.log时,我可以访问jQuery,但我有一个关于引导加载的错误:Uncaught TypeError: undefined is not a function

我使用Django Debug Toolbar与require并行,它似乎正在加载自己版本的jQuery,打乱了脚本加载的顺序。

我暂时删除了工具栏,它正在工作!