Каков самый надежный способ обеспечить безопасность типов компилятора закрытия вместе с AMD (requirejs)?

Хотя JavaScript и его многочисленные библиотеки (jQuery, RequireJS) позволяют создавать множество отличных веб-сайтов, я нахожу отсутствие безопасности типов обескураживающим при планировании создания более крупного веб-сайта.

У Google есть замечательный компилятор закрытия, который позволяет вам аннотироватьваш JavaScript с помощью JSDoc и выполнять проверку типов. Поэкспериментировав с богатой системой типов, я ожидаю, что это значительно улучшит ремонтопригодность долгоживущего проекта JavaScript.

Единственная проблема заключается в том, что он не очень хорошо работает с библиотеками AMD, такими как RequireJS. Существует экспериментальный флаг --transform_amd_modules, который объединяет ваши файлы JavaScript и управляет областью действия, устраняя ее.Однако это кажется чем-то вроде анти-шаблона, удаляющего большинство преимуществ RequireJS (но сохраняющего модульную файловую структуру). Также возникает вопрос о том, какую поддержку она получит в будущем.

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

PS: хотя я использовал RequireJS в качестве предпочтительной библиотеки AMD, я не был бы против решения, которое работало бы с другой библиотекой AMD.

8
задан jwfearn 12 October 2013 в 02:35
поделиться