2012-03-07 2 views
0

При написании приложения с использованием RequireJS файлы d12 указывают на их зависимости, используя define(['actual dependency name'], function (dependency, variables, ...) {}), который является хорошим и денди для использования только одного или двух, но как только вы начинаете иметь более глубокие зависимости, он становится немного сложный и не очень читаемый или ремонтопригоден, а именно:Что-то, что меня беспокоит в отношении RequireJS и зависимостей

define(['modules/module1', 'modules/module2', 'modules/module3', ...], 
    function (module1, module2, module3, ...) {}); 

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

Есть ли лучший способ сделать это? Я пропустил что-то очень простое?

ответ

3

Да, вы можете быть явным образом:

define(function (require) { 

    var depA = require('depA'), 
     depB = require('depB'), 
     depC = require('depC'); 

    ... 
}); 

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

+0

Это правильно. Я предлагаю создать анонимный модуль, но он более портативный: define (function (require) {}); – jrburke

+0

@jrburke Я действительно использую анонимные модули в своих проектах. Но не могли бы вы подробнее остановиться на мобильности? Вы имеете в виду с другими библиотеками или с дополнительным кодом, чтобы заставить модуль работать с средами, отличными от AMD? – ggozad

+0

Спасибо, именно то, на что я надеялся :) – Eli