Что означает "! Default" для зависимости - PullRequest
2 голосов
/ 07 февраля 2012

Когда я смотрю на исходный код списка зависимостей dojo 1.7 amd, я вижу следующее:

define (["./_ base / kernel", "./has", "./dom "," ./on "," ./_base/array "," ./_base/lang "," ./selector/_loader "," ./selector/_loader!default"],

Единственный известный мне восклицательный знак - для плагинов. Я не видел этого "! Default" раньше.
Я читал эту страницу "https://github.com/amdjs/amdjs-api/wiki/AMD" и гуглил по этому поводу, но я этого не сделалнайди любой ответ.
Может ли кто-нибудь помочь мне с этим!
Спасибо
Вольфганг

Обновление:
Спасибо, Атес Горал, за ваш ответ.
Теперь все яснодля меня.
Затем, меня раздражает в этом особом случае то, что "./selector/_loader" встречается дважды в строке выше, один раз без параметров и в следующий раз с параметром. Я видел людей, пишущих«dojo / domReady!», поэтому я подумал, что обязательно нужно написать восклицательный знак для плагина, даже без параметров. Теперь я узнал, что плагинам не нужно «!»и я напишу «dojo / domReady».

Другое обновление:
Сегодня я нашел следующее интересное утверждение (main.js из https://github.com/csnover/dojo-boilerplate):

«!» После имени модуля означает, что вы хотите использовать специальные функции плагина;если бы вам потребовалось просто «dojo / domReady», он загрузил бы этот модуль точно так же, как любой другой модуль, без какой-либо специальной функциональности плагина.

Я не знаю, правильно ли это утверждение,Это правильно, тогда "./selector/_loader" будет иметь какую-то гибридную функциональность?

1 Ответ

7 голосов
/ 07 февраля 2012

http://livedocs.dojotoolkit.org/loader/amd

Когда идентификатор модуля, переданный для запроса или определения, содержит «!», Загрузчик разбивает строку на две в восклицательном знаке.Строка слева от "!"обрабатывается как обычный идентификатор модуля и используется в качестве идентификатора для желаемого плагина;строка справа от "!"передается плагину для обработки.

В вашем случае плагину передается "default".

...