Szukałem wysoko i nisko dokumentacji na ten temat, ale po prostu nie mogę nigdzie znaleźć.
Używam Aloha i chcę użyć ich prototypu paska bocznego, aby utworzyć nowy własny pasek boczny, dołączony do innych funkcji wtyczki.
Ich sidebar.js zaczyna się od tego, ale nie mogę znaleźć żadnej dokumentacji wyjaśniającej, co to znaczy.
define( [
'aloha/core',
'aloha/jquery',
'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {
Następnie odbywa się w tym opakowaniu, aby zdefiniować kilka funkcji, vars
a więc i niektóreproptotypes
- które mogę po prostu omówić ...
Co to za powiedzenie lub gdzie mogę znaleźć wyjaśnienie?
javascript
requirejs
requirejs-define
David O'Sullivan
źródło
źródło
Odpowiedzi:
Nie mogę powiedzieć na pewno, nie widząc całego skryptu, ale prawdopodobnie będzie to
define
funkcja z RequireJS , w szczególności forma tej funkcji „ zdefiniuj z zależnościami ”. Służy do zdefiniowania „modułu”:Forma „definiuj za pomocą zależności”
define
jest opisana w następujący sposób:źródło
To jest wzorzec AMD do pisania modułów, który AMD oznacza Asynchronous Module Definition, kiedy musisz importować moduły w zasadzie asynchronicznie, a nie coś w rodzaju commonJS.
Define pobiera tablicę zależności i gdy wszystkie zostaną załadowane w tle (asynchroniczne) w sposób nieblokujący, definiuje wywołania zwrotne, które z kolei przyjmują argumenty (w tym przypadku zależności).
Kolejną rzeczą wartą odnotowania jest to, że każdy z tych modułów również musi być zdefiniowany za pomocą słowa kluczowego „define”. Na przykład moduł1 zostałby zdefiniowany jak poniżej:
Ten sposób pisania modułów (AMD) pozwala na pisanie z uwzględnieniem zgodności z przeglądarkami (no require () jak w nodeJS), a także można zdefiniować wiele formatów, w tym obiekty, JSON itp., Podczas gdy na przykład commonJS potrzebuje modułów, aby były obiektami.
Pamiętaj, że AMD ma swoje wady. Mam nadzieję, że to komuś pomoże.
źródło