2014-01-10 2 views
0

Я совершенно новый, чтобы использовать requireJs и im, имеющие проблемы с настройкой глобальной конфигурации для модуля.RequireJS, AccountingJs - передача глобальной конфигурации в учетную запись

Я использую accountingJs и хочу изменить настройку глобально в этом случае, я хочу изменить символ от $ до £.

Без RequireJS вы бы просто сделать что-то вроде этого, как бухгалтерский учет будет в глобальном пространстве имен

accounting.settings = $.extend(accounting.settings, { 
     currency: { symbol: '\u00A3 '} 
    }); 

accountingJs является AMD податливыми и отлично работает с требуют, но я не могу показаться, чтобы выяснить способ прохождения конфигурации в нее во всем мире, а не в.

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

Мой вопрос: как я могу настроить конфигурацию, подобную этому для совместимого с AMD модуля в глобальном масштабе на странице?

Я вижу несколько вариантов

  • Редактировать accountingjs посмотреть на module.config() и загрузить любой конфигурации он видит - я попробовал это, и это действительно работает, как ожидалось, но я действительно не хочу обычай ,
  • использовать конфигурацию shim и использовать обратный вызов init - я havent получил это для работы (возможно, потому что он уже совместим с AMD)
  • создать новый модуль для переноса accountingjs в другое определение и применить здесь конфигурацию и использовать этот модуль на каждой странице - не пытается это, но я предполагаю, что это сработает ...

что я действительно муравей, чтобы сделать способ глобального применения конфигурации к уже существующему модулю из конфигурации конфигурации, возможно ли это?

ответ

1

Если модуль AMD не предназначен для использования module.config, вы не можете заставить его его использовать. Решение, которое вы упомянули последним, является наиболее надежным: создайте модуль-оболочку, который настраивает фактический модуль по своему усмотрению. Эта оболочка может использовать module.config для захвата значений. Это решение, скорее всего, будет работать с RequireJS сейчас и довольно долгое время с тех пор, как вы используете функции API, которые хорошо документированы и имеют центральное значение для функций RequireJS.

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

+0

Я пришел к такому же выводу в конце. Просто оберните библиотеку и примените конфигурацию с помощью простой функции private extend – ScottG

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