Что такое "define", используемое в JavaScript (кроме очевидного)?

Я искал высоко и низко для документации по этому вопросу, но я ничего не могу найти где-либо.

Я использую Aloha и хочу использовать свой прототип боковой панели для создания новой боковой панели, связанной с другими функциями плагина.

Их sidebar.js начинается с этого, но я не могу на всю жизнь найти документацию, которая объясняет, что это значит.

define( [
    'aloha/core',
    'aloha/jquery',
    'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {

Затем в этой оболочке продолжается определение набора функций, поэтому vars и некоторые proptotypes - которые я могу просто опустить...

Что это за сказание или где я могу найти объяснение?

Ответ 1

Я не могу сказать точно, не видя всего script, но скорее всего это функция define из RequireJS, в частности, "форма этой функции" define with dependencies. Он используется для определения "модуля":

Модуль отличается от традиционного файла script тем, что он определяет объект с ограниченной областью, который позволяет избежать загрязнения глобальной Пространство имен. Он может явно перечислять свои зависимости и обрабатывать эти зависимости без необходимости ссылаться на глобальные объекты, но вместо этого получают зависимости в качестве аргументов функции, которая определяет модуль.

И форма "define with dependencies" define описывается следующим образом:

Если модуль имеет зависимости, первым аргументом должен быть массив имен зависимостей, а вторым аргументом должно быть определение функция. Функция будет вызываться для определения модуля после того, как все загружены зависимости. Функция должна возвращать объект, который определяет модуль.