Шаблон модуля JavaScript / организация / подмодули - PullRequest
5 голосов
/ 04 ноября 2010
  1. Я хотел бы знать, что разница (преимущества / недостатки) между следующие шаблоны.
  2. Как создать субмодули на основе по шаблону модуля?

Моя цель состоит в том, чтобы мои js были организованы в несколько файлов , которые загружены с отложенным доступом , но имеют одно пространство имен.

Например:

SO.global (global.js) SO.global.registration (registration.js) <- загрузить </p>

var SO = function(){

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }
    return{
      create:createX,
      get:getY
    }
}();

//SO.createX(); 
//SO.getY();

VS.

var SO = (function() {

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }

    return {
      create:createX,
      get:getY
    }

} ());

Ответы [ 2 ]

5 голосов
/ 28 января 2011

Рассматривали ли вы Require.JS ? Он пытается обеспечить следующее решение:

  • Какой-то # include / import / require
  • возможность загрузки вложенных зависимостей
  • простота использования для разработчика, но затем поддерживается инструментом оптимизации, который помогает развертыванию

Require.JS реализует модуль / асинхронное определение , определенный Common.JS

3 голосов
/ 04 ноября 2010

Вот хорошее чтение: http://snook.ca/archives/javascript/no-love-for-module-pattern, и еще одно: http://lamb.cc/blog/category/javascript/

YUI использует его с энтузиазмом, так же как и я, я не нашел ситуаций, в которых он был бы ограничен, и он прекрасно интегрируется с загрузчиком зависимостей YUI для пользовательских модулей.

(Извините, я понимаю, что это не полный ответ, но есть некоторая нетронутая информация для вас)

...