I won’t write any long preamble, here are 8 reasons to learn Node.JS:
If you are using Yarn package manager, there is no longer node_modules for each project. Instead you’ll have a centralised cache that includes whatever you use to develop and launch your code
3. Flexibility. Thanks to the toolchain being so large, it’s always up to you to decide what to use. For example, if you want to code a simple scrapper script, you can use no type system at all. If you are building a business application, you can choose between TypeScript and Flow. Whether you like functional style or OOP, there will be tools for you, MVC, MVVP, MVWHATEVER – there are tools for you. My favourite example is asynchrony. You can use: callbacks, native promises, third-party promises, generators, async/await, observables, threads, fibers, and I’m sure that there are even more options I just don’t know about. As in most cases you cannot predict how popular and large your app will be, this allows you to build an MVP quickly and then scale to enterprise-eligible code. On the other hand, with great powers come great responsibilities:
The advice here is to not try to build a “perfect toolchain” from scratch, start with simpler configuration and scale as you go. Once that you have some experience the decision-making process will be simpler. Ideally you should invest some time in picking and mastering some stack that you are most comfortable with, there are so many options that this can be even frustrating, but your efforts will be rewarded
4. CLI tools. Node.JS is not just for building backends for applications, it is also a powerful platform to build command line utilities. The fact that development environment that you use is written in the same language as your project can be really helpful sometimes.
5. SSR. If you want to improve the speed of the first meaningful paint of your single-page application, you might need to employ the technique called SSR. The simplest way to do it involves executing frontend code on the backend, and Node.JS is perfect for this.
7. Electron.JS. You can also use Node in combination with web technologies to develop desktop applications. And there are some good examples of such applications – Atom and VSCode are written in js. And I really love this, my apps, my toolchain and even my IDE are written in the same language.
Source: Kit Isaev