2016-12-08 2 views
2

Ich bin auf der Suche nach Open Source eine eckige Direktive auf npm und ich versuche, mit dem universellsten Muster dafür zu kommen. Wie ist das? Ich habe 3 Fragen:UMD-Muster für winkelförmige Richtlinie

!function(name, make) { 
    make = make() 

    // 1. Is this line needed? 
    var angular = require('angular') 

    // 2. Is this line needed? 
    angular.module(name, []).directive(name, make) 

    if (typeof module != 'undefined') module.exports = make 
    else this[name] = make 

    // 3. Is this line needed? 
    if (typeof define == 'function') define(function() { return make }) 
}('exampleDirective', function() { 
    return function() { 
    return { 
     link: function (scope, label, atts) {} 
    } 
    } 
}); 
  1. Ist require('angular') benötigt oder ist es sicher, die Winkelvariable vorhanden, anzunehmen?
  2. Ist es notwendig, angular.module und angular.directive in meiner Definition zu nennen oder sollten nur die App (s) dies tun?
  3. Benötigen AMD-Umgebungen das oder genügt die module.exports oder global?

Antwort

1

// 1. Is this line needed? 
    var angular = require('angular') 

Nr Anwendungen, die Ihre Bibliothek verwenden müssen immer ihre eigene Version von AngularJS importieren.

// 2. Is this line needed? 
    angular.module(name, []).directive(name, make) 

Ja. Anwendungen benötigen, um Ihre Modul name in ihre Liste der Abhängigkeiten wie diese aufzulisten:

var myApp = angular.module('myApp',[name]); 

// 3. Is this line needed? 
    if (typeof define == 'function') define(function() { return make }) 
}('exampleDirective', function() { 
    return function() { 
    return { 
     link: function (scope, label, atts) {} 
    } 
    } 
}); 

Nr Sie haben soeben die Richtlinie über das Modul und andere Entwickler werden in der Lage setzen kann um es zu benutzen.

Verwandte Themen