2015-08-07 4 views
0

Я пытаюсь настроить requirejs на своем веб-сайте, у меня есть модули HTML и хочу только загрузить JS, когда используется конкретный HTML-модуль.правильное использование requirejs

У меня есть эти файлы и код, он отлично работает, я просто хочу убедиться, что я делаю это правильно. Пример ниже - для реализации слайдера с плавным плагином. Php I include в index.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> 

ли это выглядеть более или менее правильно для вас? Одно сомнение у меня есть, если я действительно ничего не передаю скриптам/странице/sliderbanner.js из модуля, действительно ли мне это нужно? Благодаря!

ответ

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) { 
    // ... 
}); 
Смежные вопросы