Question

  1. Je voudrais savoir quelle est la différence (avantages / inconvénients) entre les motifs suivants.
  2. Comment puis-je créer des modules sous base     sur le modèle du module?

Mon but est d'avoir mon js organisés en plusieurs fichiers qui sont chargé paresseux , mais ont un espace de noms.

Par exemple:

SO.global (global.js) SO.global.registration (registration.js) <- charge

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
    }

} ());
Était-ce utile?

La solution

Avez-vous envisagé Require.JS ? Il tente de fournir la solution suivante:

  • Une sorte de # include / importation / require
  • capacité de charge imbriquée dépendances
  • facilité d'utilisation pour les développeurs mais soutenu par un outil d'optimisation qui permet le déploiement

Require.JS met en œuvre le Module / Définition asynchrone spécifications définies par Common.JS

Autres conseils

Voici une bonne lecture: http://snook.ca/archives / javascript / non-amour-pour-module-modèle , et un autre: http: // lamb.cc/blog/category/javascript/

YUI utilise avec avidité, comme moi, je ne l'ai pas trouvé de situations où je restreint par elle, et bien intègre avec le chargeur de dépendance YUI pour les modules de mesure.

(Désolé, je sais que ce n'est pas une réponse complète, mais il y a quelques informations bidouillé pour vous)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top