2013-11-19 4 views
0

Каков наилучший способ для написания совместимых классов совместимости с AMD, которые будут использоваться как часть модульного приложения?Как написать классы совместимости с AMD?

Обычно я пишу свои классы, используя одноэлементный подход. Если не существует какой-либо уловки для работы с AMD, это не похоже на совместимость.

+0

Я просто пробежал по UMD (https://github.com/umdjs/umd). Он содержит несколько примеров (совокупность из диких) того, как добавить совместимость AMD/CJS. Общей темой является вызов фабричного метода (который можно выбрать динамически на основе среды), а затем перейти в «нормальный» IIFE. – user2864740

+0

Отличный список примеров! Благодаря! – eComEvo

ответ

0

Ну, мы используем AMD, и большинство наших файлов являются одиночными. На самом деле мы действительно не объявляем, что «класс» используется только один раз (singleton) - мы конкретно определяем экземпляр одного объекта, хотя для некоторых людей это просто техническое различие. Вот пример:

// mylib.js 
define(["otherlib"], 

function(otherlib) { 

return { 
    doThing: function() { 
    return otherlib.action("thing"); 
    } 
}; 
}); 

В случае, если вам интересно: Требуя этот файл 7 раз фактически возвращают тот же самый объект каждый раз - он не будет воссоздан.

+0

Хорошая информация! Это очень помогло! – eComEvo

Смежные вопросы