Недавно я начал играть с node.js.
Теперь, каждый учебник по узлу утверждает, что вы должны начать с
npm init
и затем, скажем, вам нужна стандартная серверная структура, скажем, вы выбрали экспресс:
npm install express
но тогда вам понадобится еще много вещей, к которым вы привыкли, в таких мирах, как ASP.NET.
Я говорю о шаблонизаторах (Jade) и препроцессорах таблиц стилей (SASS).
А потом они говорят вам: «установите gulp / grunt! Чтобы вы могли минимизировать, укрупнить и запустить сервер и многое другое автоматически!»
А это означает установку gulp, node-sass и gulp-sass, а также gulp-uglify и, возможно, более крутых вещей (tsd или babel, markdown и т. Д.) ...
Но все это тяжело на вашем диске и проекте. Не ищите ни минуты, и вы можете легко найти себя с объемом диска более 100 МБ для этого проекта (который еще даже не начался!), Не говоря уже о 10000+ файлах, поскольку каждый модуль узла имеет свои собственные зависимости, независимо от того, Зависимость используется другим модулем. И это очень трудно переместить куда угодно, не говоря уже о веб-сервере.
Я что-то пропустил? Я не думаю, что это возможно, что так много похвалы для среды узла, в то время как существует такой явный недостаток. Ожидаю ли я слишком многого (в конце концов, я пытался использовать много инструментов одновременно), есть ли что-нибудь тривиальное, известное ветеранам Node, чтобы обойти это?
источник
Ответы:
Недавняя проблема левой панели - яркий пример проблемы с этой тенденцией в Node. Когда вы зависите от слишком многих вещей, все они склонны к ка-пау, усложняют отладку вашего проекта и, для новичка, труднее понять работу языка.
Теперь хорошие программисты Node.js знают, как писать минималистичные приложения, когда речь идет о зависимостях. Чем меньше вещей, от которых вы зависите - тем лучше. Нужно дополнить строки слева? Закодируйте это в помощнике, это - 11 строк кода с пробелами. Нужно нумеровать строки строк? Закодируйте это, это меньше чем 100 строк кода.
Даже для более сложных задач, таких как управление проектами, я бы посоветовал придерживаться Makefiles, пока ваш проект достаточно прост - grunt и gulp действительно, действительно полезны для гигантских проектов, которые требуют больших усилий. Но для вашего SPA-блога? Напишите Makefile, это займет 5 минут, и вы знаете, как это работает.
Соблазн просто просматривать npm каждый раз, когда вам нужно написать 3 строки кода, велик, но его следует избегать, когда это разумно. Не включайте jQuery, если у вас есть 3 манипуляции с DOM, не используйте angular для этой статической промо-страницы, не используйте express для упрощенного сервера. Но вы кодируете CMS? Вы должны быть сумасшедшими, чтобы не использовать такие пакеты, как jQuery, подчеркивание, а что нет. Работаете с 10 типами коллекций, 3 базами данных и постоянно запрашиваете их? Вы были бы безумны, чтобы не использовать подчеркивание и несколько других. Подумайте: «Можно ли сэкономить достаточно времени, установив этот пакет?» или «Я не могу просто написать это в течение получаса или около того?»
источник