将RequireJs与自定义JS插件一起使用

Using RequireJs with custom JS plugin

本文关键字:一起 插件 JS RequireJs 自定义      更新时间:2023-11-24

我试图从requireJS模块引用一个测试Jquery插件,但由于某种原因,它似乎不起作用。

我是这样说的:这是我的自定义插件:

test.js

$.fn.testfunction = function(){
     alert();
};

我引用的地方

效果.js

define(['jquery', 'step1', 'global', 'test'], function($, step1, global, test){     
    $('body').test();       
});

最后是加载effects.js的main.js

main.js

requirejs.config({
    baseUrl: "/",
    urlArgs: "" + Math.floor((Math.random() * 100) + 1),
    paths:
    {
            jquery: '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min',
            topJs: '/holoweb/static/js/v3_landing_top',
            bottom: '/holoweb/static/js/v3_landing_bottom',
            global: '/v2/js/variables/global',
            registeringUser: '/v2/js/registeringUser',
            effects: '/v2/js/effects/effects',
            step1: '/v2/js/variables/step1',
            test: '/v2/js/effects/test',
    }
});
require(['jquery']);
require(['bottom']);
require(['topJs']);
require(['effects']);

require(['registeringUser'], function(Registration){
    var NewUser = Registration.CreateNewUser;
    NewUser.startStep(1); 
});

当我去查看它时,我从chrome开发工具中得到一个错误,显示:http://i.imgur.com/IdSZPgh.png

我不知道为什么。

抱歉有任何不好的做法,我是新手,谢谢。

test.js具有jquery作为依赖项。替换为:

define(['jquery'], function($){   
    $.fn.testfunction = function(){
        alert();
    };
}

此外,您定义了testfunction函数,但调用了test函数。

$('body').test();替换为$('body').testfunction();

并且您不需要使用几个require函数。必须只有一个require函数将成为您的应用程序的入口点。