Я поддерживаю и сотрудничаю с некоторыми модулями JavaScript, написанными на CommonJS, которые нуждаются в высококачественных оболочках UMD.
Зависимости взяты из npm
, но имеют по крайней мере поддержку CommonJS и AMD (или я могу добавить).
Версия CommonJS продолжается npm
Обернутый модуль UMD будет перемещен в bower
Обертка должна работать в браузерах (AMD + глобальные) и в Node.js (любые и другие системы CommonJS, если это возможно). Любая автоматизация предпочтительно должна происходить с помощью Grunt (я очень хорошо разбираюсь в grunt).
Я провел целую вечность, просматривая Google en SO, но это огромный беспорядок.
Некоторые обнадеживающие, которые не совсем подходят (или я что-то упускаю, что вполне возможно):
- обозревать
- клеи
- ворчание
Я нахожу такие отчаянные конструкции повсюду: http://rathercurio.us/building-umd-modules-with-dependencies-with-browserify , но я не очень хорошо разбираюсь в таком хакерстве.
Любые хорошие советы по этому поводу? Я возьму любой указатель или ссылку или совет.
Редактировать: уточнение: последнее, что было сказано, идеальное решение не должно требовать от нас сборки кусков стандартного кода шаблона вручную и создания новых ошибок. Тем не менее, я спокойно настраиваю и определяю вещи.