Сухроб Хусамов: что значит "нелегальная"? Никто не арестует:)
Если чего-то в официальной документации нет, это либо чей-то самопал, либо это недокументирования фича и пользоваться ей чревато тем, что на следующей минорной версии (или на другой OS) все "почему-то" перестанет работать.
Сухроб Хусамов: Нодовские приложения обычно запускаются и живут месяцами (если не годами), нет смысла что-то подгружать динамически. Архитектурно проще загрузить всё нужное сразу, при старте; динамическая подгрузка при первом запросе в таких вещах -- микрооптимизация.
Если вы хотите, чтобы они в памяти были только по требованию, то надо не только загрузку организовать, но и выгрузку, а это только лишние операции, да и из require.cache их надо будет как-то вычищать.
Сухроб Хусамов: нашел, сорри, это был чей-то еще вопрос. Тоже человек хотел, в числе прочего, autoload, вот мои доводы:
Неявные зависимости -- зло. Во-первых, труднее разбираться потом/другому человеку, что от чего зависит и где может поломаться. Во-вторых, труднее контролировать, не слишком ли разросся этот модуль. В-третьих, явное лучше неявного. Это как глобальные переменные, только еще и неявные.
Сухроб Хусамов: автозагрузка классов не нужна. Кажется, я уже это писал. Если у вас такое количество модулей, что их надо автоматом грузить, то у вас проблемы с архитектурой. А 3-5-10 require написать -- не проблема.
Сухроб Хусамов: на самом деле, в приведенном примере, можно просто забить на предупреждения линтеров о том, что eval это плохо (как правило это делается специальным комментарием, см. документацию к своему IDE/линтеру).
eval плохо когда, например
Сергей Протько: хм, и правда. И если бы не «It is advisable not to use jspm for arbitrary server applications currently as there are two major issues with Node module npm support»...
Сергей Протько: не увидел особых отличий, если честно. Умер тот, умрет и этот. jspm вот только пишет в config.js, что позволяет автоматически писать короткие имена в импортах вместо длинных '../node_modules/angular/angular.js', что, конечно, плюсик, но не киллер-фича. А как быть, если я юзаю momentjs на сервере и на клиенте, два раза ставить?
Сергей Протько: я кстати так и не понял, зачем нужен jspm. Народу bower'а было мало или что? Больше менеджеров пакетов для бога менеджеров пакетов?
Вебпак меня пугает.
Сергей Протько: у меня тоже. Главным образом потому, что я не могу приготовить карму, так чтобы мне самому нравилось (1 html для ручных тестов и для кармы, с одной точкой входа для тестов, с es6 и systemjs).
Сергей Протько: понятное дело.
Рассказываю случай из жизни. Пришел в новую контору. Проект уже какое-то время пилится. В ангуляре я ни в зуб ногой. Тесты есть, но не на всё, и явно их писали пост-фактум. Заказчик требует coverage не менее 80%. Посадили писать тесты, чо.
Я к тому, что не все наши коллеги перфекционисты и проекты в реальном мире могут быть и без юнит-тестов.
Максим Грузинцев: тоже надеюсь, что это юмор. Знаю не одну игру с логотипом юнити, за которую не жалко отдать все энгри бердсы, сабвей серферы и фрут ниндзи скопом.