2015-08-19 10 views
0

У меня есть проект с несколькими файлами javascript, все отформатированные как модули AMD. Я использую r.js как часть моего процесса сборки (используя this плагин grunt для обработки всего).Использование r.js для создания целого проекта без необходимости накладных расходов require.js

После того, как я построю свой проект, я получаю конкатенированный, миниатюрный файл с jQuery, за которым следуют все мои модули, упорядоченные правильно. Тем не менее, эти модули по-прежнему совершают вызовы на require и define, поэтому мне нужно включить всю библиотеку require.js, когда я отправляю клиенту мой миниатюрный JS-файл.

Есть ли способ построить мой JS таким образом, что мне не нужно отправлять require.js клиенту? Например, когда я строю все свои JS, могу ли я просто отключить вызовы до define или require?

Любая помощь была бы принята с благодарностью. Этот article с 2013 года говорит, что решения пока нет, но я надеюсь, что сейчас проблема.

EDIT: Одно хорошее предложение, которое я слышал, это использовать Almond.js, что я могу сделать, если это лучшее решение на сегодняшний день. Я просто надеялся, что мне не нужно было перегружать любую стороннюю библиотеку в первую очередь.

+1

Не использует миндаль с r.js? –

+0

^будет вашим лучшим вариантом рядом с повторной записью в качестве CommonJS и с помощью браузера (I kid). – Deryck

+0

PS - последний раз я проверил, что файл с миниатюрным require.js был 16KB - где накладные расходы вы имеете в виду – Deryck

ответ

1

Используйте миндаль в качестве замены require.js в своем встроенном модуле. Сначала загрузите его, чтобы дать вам то, что вам нужно.