3 ms·
Node's like, one of the worst choices, due to the idiotic package manager. They ship essentially every function call as a separate package. It's actually a thin
by MichaelGG 12y ago
Node's like, one of the worst choices, due to the idiotic package manager. They ship essentially every function call as a separate package. It's actually a thing to take a dependency on "sha1" and literally pull in a package just for that one bit.
Using Node/Grunt/Bower to build a straightforward run end site (just to compile static outputs) required npm installing over 13 thousand files. Now imagine on a build server, starting clean, each time? Yeah, it takes a very long time just to download that stuff or do anything with it. Insane.
And at the end of it all, it's just JavaScript on the server, like ASP did in the 90s. With a cumbersome async API. OK.
- gedrap 12y agoAnd then add sometimes not properly defined version dependencies (or developers abusing version numbers a bit) and you have a dependency hell when running npm update -g will almost definitely break something. I love yeoman, great scaffolding tool, but it depends on so many packages that sometimes it simply doesn't work because some package it depends on did something silly. So once you have a working set up, don't update it if you absolutely must. That shouldn't be the case in 2014.
- Havvy 12y agoYou really should not be installing dependencies for anything globally. Instead, add them as dev-dependencies and call them in the package.json `scripts` property. The only npm package you really need installed globally is npm itself, and you can almost always let the package manager handle that for you.