Récemment, j'ai commencé à jouer avec node.js.
Maintenant, chaque tutoriel sur les nœuds indique que vous devez commencer par
npm init
puis, disons que vous voulez un framework de serveur standard, dites que vous choisissez express:
npm install express
mais alors vous voudrez bien plus de choses auxquelles vous êtes habitué dans des mondes comme ASP.NET.
Je parle des moteurs de template (jade) et des pré-processeurs de feuille de style (SASS).
Et puis ils vous disent "installez gulp / grunt! Afin que vous puissiez minimiser et uglifier et exécuter le serveur et tant d'autres choses automatiquement!"
Et cela signifie installer gulp, node-sass, et gulp-sass, et gulp-uglify, et peut-être quelque chose de vraiment plus cool (tsd ou babel, démarquage, etc.) ...
Mais tout cela est lourd sur votre disque et votre projet. Ne cherchez pas un instant et vous pouvez facilement vous retrouver avec une taille de disque de 100 Mo + pour ce projet (qui n'a même pas encore commencé!) Sans parler de plus de 10000 fichiers puisque chaque module de nœud apporte ses propres dépendances, peu importe la même chose la dépendance est utilisée par un autre module. Et c'est une chose très difficile à déplacer n'importe où, sans parler d'un serveur Web.
Suis-je en train de manquer quelque chose? Je ne pense pas qu'il soit possible que tant d'éloges soient donnés à l'environnement du nœud alors qu'un défaut aussi clair existe. Est-ce que j'attends trop (après tout, j'ai essayé d'utiliser de nombreux outils à la fois), les vétérans de Node ont-ils quelque chose de trivial à contourner?
la source
Réponses:
Le récent problème de gauche pad est un excellent exemple du problème avec cette tendance dans Node. Lorsque vous dépendez de trop de choses, toutes sont sujettes au ka-pow, rendent votre projet plus difficile à déboguer et, pour un nouveau venu, plus difficile à saisir le fonctionnement de la langue.
Les bons programmeurs Node.js savent maintenant écrire des applications minimalistes, en ce qui concerne les dépendances. Le moins de choses dont vous dépendez - mieux c'est. Besoin de garnir les cordes à gauche? Codez-le dans une aide, c'est 11 lignes de code avec les blancs. Besoin de numéroter vos rangées de chaînes? Codez-le, c'est moins de 100 lignes de code.
Même pour des tâches plus compliquées, comme la gestion de projet, je suggère de s'en tenir à Makefiles alors que votre projet est assez simple - grognement et gorgée sont vraiment, vraiment utiles pour les projets géants qui ont beaucoup de travail à faire. Mais pour votre blog SPA? Écrivez un Makefile, cela prend 5 minutes et vous savez comment cela fonctionne.
La tentation de simplement parcourir npm chaque fois que vous avez besoin d'écrire 3 lignes de code est grande, mais il faut y résister, chaque fois que cela est raisonnable. N'incluez pas jQuery si vous avez 3 manipulations DOM, n'utilisez pas angular pour cette page de promo statique, n'utilisez pas express pour un serveur simpliste. Mais vous codez un CMS? Il faudrait être fou pour ne pas utiliser de packages comme jQuery, underscore et ce qui ne l'est pas. Travailler avec 10 types de collection, 3 dbs et les interroger tout le temps? Vous seriez fou de ne pas utiliser de soulignement et quelques autres. Pensez simplement «est-ce que je gagne assez de temps en installant ce package? ou 'Je ne peux pas simplement coder cela pendant une demi-heure environ?'
la source