Javascript 将自定义Jquery插件与requireJS一起使用

Javascript 将自定义Jquery插件与requireJS一起使用,javascript,jquery,jquery-plugins,requirejs,requirejs-define,Javascript,Jquery,Jquery Plugins,Requirejs,Requirejs Define,抱歉,如果我重复这个问题,但是我对requireJS很陌生,我不完全理解它的工作方式 我试图实现类似亚马逊的导航,在元素上进行对角线运动。我找到了一个jQuery插件(),但我想在requireJS的帮助下实现它 通常,您只需使用标记(Jquery和插件)包含所有必要的脚本。然后找到导航并在激活/停用子菜单上分配一些功能。例如: <script src="js/jquery-1.9.1.min.js" type="text/javascript"></scr

抱歉,如果我重复这个问题,但是我对requireJS很陌生,我不完全理解它的工作方式

我试图实现类似亚马逊的导航,在元素上进行对角线运动。我找到了一个jQuery插件(),但我想在requireJS的帮助下实现它

通常,您只需使用
标记(Jquery和插件)包含所有必要的脚本。然后找到导航并在激活/停用子菜单上分配一些功能。例如:

          <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
            <script src="../jquery.menu-aim.js" type="text/javascript"></script>
            <script src="js/bootstrap.min.js" type="text/javascript"></script>
            <script>
                var $menu = $(".dropdown-menu");
                // jQuery-menu-aim: <meaningful part of the example>
                 // Hook up events to be fired on menu row activation.
               $menu.menuAim({
                    activate: activateSubmenu,
                    deactivate: deactivateSubmenu
                });

           function activateSubmenu(row) {//do something}
           function deactivateSubmenu(row) {//do someting else)
         </script>
我将整个插件menu-aim.js放在:

也许,这不是运行requireJS插件的方式,因为它什么也不做(我试着做了一些控制台日志)。我试着看requireJS文档,但我仍然不明白如何正确操作。。 非常感谢您的建议。

,看起来
jQuery菜单aim
没有使用通用模块定义,因此它需要您的RequireJS配置提供一些帮助

一个
shim
可以帮助RequireJS排序依赖项,因为这是一个jQuery插件,必须首先加载jQuery并将其传递给它。点击这里查看

将此代码添加到您的RequireJS配置文件中

requirejs.config({
  shim: {
    'menu-aim': {
        deps: ['jquery']
    }
  }
});
当你打电话的时候

require('lib/menu-aim', function() { 
  // put your menu code here 
});
jQuery和菜单插件将被加载。

,看起来jQuery菜单aim没有使用通用模块定义,因此需要您的RequireJS配置提供一些帮助

一个
shim
可以帮助RequireJS排序依赖项,因为这是一个jQuery插件,必须首先加载jQuery并将其传递给它。点击这里查看

将此代码添加到您的RequireJS配置文件中

requirejs.config({
  shim: {
    'menu-aim': {
        deps: ['jquery']
    }
  }
});
当你打电话的时候

require('lib/menu-aim', function() { 
  // put your menu code here 
});
jQuery和菜单插件将被加载