سؤال

  1. أود أن أعرف ما هو الفرق (المزايا/العيوب) بين الأنماط التالية.
  2. كيف يمكنني إنشاء وحدات فرعية بناءً على نمط الوحدة النمطية؟

هدفي هو أن يكون لدي JS نظمت في ملفات متعددة هذا محملة كسول ولكن لديك مساحة اسم واحدة.

فمثلا:

so.global (global.js) so.global.registration (registration.js) <- load

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();

ضد.

var SO = (function() {

    var CONSTANT = 'Z';

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

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

    return {
      create:createX,
      get:getY
    }

} ());
هل كانت مفيدة؟

المحلول

هل فكرت require.js؟ يحاول توفير الحل التالي:

  • نوع من #تضمين/استيراد/يتطلب
  • القدرة على تحميل التبعيات المتداخلة
  • سهولة الاستخدام للمطور ولكن بعد ذلك تدعمها أداة التحسين التي تساعد على نشر

require.js تنفذ الوحدة/التعريف غير المتزامن المواصفات المحددة بواسطة common.js

نصائح أخرى

هذه قراءة جيدة: http://snook.ca/archives/javaScript/no-love-for-module-pattern, ، وآخر: http://lamb.cc/blog/category/javaScript/

يستخدمه Yui بشغف ، كما أفعل ، لم أجد أي مواقف حيث كنت مقيدًا بها ، وهي تتكامل بشكل جيد مع محمل Yui التبعية للوحدات النمطية المخصصة.

(عذرًا ، أدرك أن هذه ليست إجابة كاملة ، ولكن هناك بعض المعلومات غير المرغوب فيها)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top