正确使用requirejs

时间:2015-08-07 14:45:41

标签: javascript requirejs

我正在尝试在我的网站上设置requirejs,我有HTML模块,只想在使用特定的HTML模块时加载JS。

我有这些文件和代码,它工作正常我只是想确保我正确地做到了。下面的示例用于实现带有光滑插件的滑块。我在index.php中包含的php包含滑块的相关HTML。

脚本/模块/ Sliderbanner.js

define(function(require) {
    var $ = require('jquery');
    var domReady = require('domready');

require('plugins/slick.min');
    domReady(function() {                  

            ///SLIDER BANNER
           $('.slider-banner').slick(});

        });
});

脚本/页/ sliderbanner.js

  require(['main'], function() {
        require(['jquery', 'modules/Sliderbanner'], function($) {

        });
    });

脚本/ main.js

require.config({
    baseUrl: '../scripts',
    paths: {
        jquery:            'components/jquery/jquery',
        domready:          'components/requirejs-domready/domReady'
    },
    shim: {
        'slick.min': ['jquery']
    },
    urlArgs: "bust=" +  (new Date()).getTime()
});
define(function(require) {
    var $        = require('jquery');
    var domReady = require('domready');

    domReady(function() {

    });
});

的index.php

 <?php include("../organisms/slider-banner.php");?>
      <script>require(['page/sliderbanner']);</script>

这看起来或多或少对你不正确吗?我怀疑的是,如果我没有将任何内容传递给模块中的scripts / page / sliderbanner.js,我真的需要它吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您将所有内容与r.js捆绑在一起,那么您的示例就会有用。

如果你想异步加载你的JS文件,那么你需要这样做:

// module.js

define(['/path/to/module1.js', 'path/to/module2.js', function (module1, module2) {
  // ...
});

// some-other-module.js

define(['/path/to/module.js'], function (module) {
  // ...
});
相关问题