Nodejs让javascript代码能够不止在浏览器中运行,也可以在服务器端运行。这个突破是开创性的。使得javascript摆脱了浏览器的束缚,使得它可以和java、python、c++同等竞争服务器的市场。
为什么说浏览器桎梏了javascript的发挥?
在浏览器中运行javascript代码是有很多限制的,这也不能做,那也不能做。不能读写文件,不能跨域。而这些在服务器端js都能做。目前在服务器端基本上nodejs就等于是js。就像jvm.exe之于java,python.exe之于python,等等。
那么在服务器端nodejs相比python、java、php等有什么优势?
nodejs是单线程的。而其它语言都是多线程的。所以这对nodejs来说,是劣势,但也是一个优势。优势在于nodejs可以创建无数微服务,添加无数node节点,可以弹性伸缩,成本低。
不过,更重要的是,它可以让前端程序员兼顾后端,打通了前后端的壁垒。以前,前端程序员只搞前端,不懂后端,对于很多后端的业务不熟悉,沟通有难度,而现在则不同了。后端也可以使用javascript代码写。
最后,最重要的一点,有很多基于nodejs开发的前端工具。提高了开发效率。当然对于前端来说,nodejs也只是一个编写代码的调试工具,最后还是需要打包发到前端去运行的。(但是,如果代码中涉及到文件读写,那么发送到前端还是无法运行)
- NPM(Node Package Manager)
npm install xxx --global