Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Require.js与JQuery插件结合使用-我应该将代码放在哪里来初始化插件?_Javascript_Jquery_Html_Web - Fatal编程技术网

Javascript 将Require.js与JQuery插件结合使用-我应该将代码放在哪里来初始化插件?

Javascript 将Require.js与JQuery插件结合使用-我应该将代码放在哪里来初始化插件?,javascript,jquery,html,web,Javascript,Jquery,Html,Web,所以我有一个关于require.js和加载jquery插件的问题。现在据我所知,有一个common.js文件,我用来添加jQuery插件及其依赖项(jQuery),它使用了一个称为shim config的东西?我不太清楚这是怎么回事。无论如何,假设我需要加载一个名为layerslider.js的插件,在该插件的文档中,它告诉我以下代码: $("#layerslider").layerSlider({ pauseOnHover: false, autoPlayVideos: fal

所以我有一个关于
require.js
和加载jquery插件的问题。现在据我所知,有一个
common.js
文件,我用来添加jQuery插件及其依赖项(
jQuery
),它使用了一个称为shim config的东西?我不太清楚这是怎么回事。无论如何,假设我需要加载一个名为
layerslider.js
的插件,在该插件的文档中,它告诉我以下代码:

$("#layerslider").layerSlider({
    pauseOnHover: false,
    autoPlayVideos: false,
    skinsPath: '../layerslider/skins/'
});

为了初始化这个插件,必须在body标记的末尾之前放入一个script标记。现在这是传统的方式。。。对于require.js,我不知道应该把这些代码放在哪里来初始化插件,我听说必须在插件本身中调用define函数才能使其与require.js兼容?谢谢你的帮助,非常感谢

在定义
require.js
配置的js文件中,在
require.config.path
部分中放置如下内容:

  'layerslider.greensock': '/assets/layerslider/js/greensock',
  'layerslider.transitions': '/assets/layerslider/js/layerslider.transitions',
  'layerslider.kreaturamedia': '/assets/layerslider/js/layerslider.kreaturamedia.jquery'
然后在
垫片中定义依赖项:

  'layerslider.greensock': { deps: ['jquery'] },
  'layerslider.transitions': { deps: ['jquery'] },
  'layerslider.kreaturamedia': { deps: ['jquery'] },
然后,只要在您定义的模块中根据需要开始使用layerslider(您需要包含layerslider的依赖项)

你一定有这样的东西

在html文件中:

<script data-main="/js/app" src="/assets/requirejs/js/require.js"></script>

非常感谢你,维克多!我用了你的方法,效果很好,我想我现在掌握了窍门。只是我不知道什么时候应该使用require或define。除此之外,我感谢你的回应!
(function() {
  require.config({
    baseUrl: '/js',
    paths: {
      jquery: '/assets/jquery/js/jquery',
      'layerslider.greensock': '/assets/layerslider/js/greensock',
      'layerslider.transitions': '/assets/layerslider/js/layerslider.transitions',
      'layerslider.kreaturamedia': '/assets/layerslider/js/layerslider.kreaturamedia.jquery'
    },
    shim: {
      'jquery': {
        exports: 'jQuery'
      },
      'layerslider.greensock': {
        deps: ['jquery']
      },
      'layerslider.transitions': {
        deps: ['jquery']
      },
      'layerslider.kreaturamedia': {
        deps: ['jquery']
      }
    }
  });

  require([
    'require',
    'jquery',
    'layerslider.greensock',
    'layerslider.transitions',
    'layerslider.kreaturamedia'
  ], function(require, $) {
    $("#layerslider").layerSlider({
      pauseOnHover: false,
      autoPlayVideos: false,
      skinsPath: '../layerslider/skins/'
    });
  });
}());