小程序开发如火如荼,如果你是程序员,你还不懂小程序的开发,恐怕会被同行认为太LOW了吧!不过,新入行小程序开发者确实会被新的名词搞得一头雾水。
比如JavaScript不是在浏览器端运行吗,怎么还可以写服务器端的程序,NodeJS是干啥的,V8和NodeJS有啥区别,什么NMP命令,它是干嘛的,想把这些东东的本质看透吗,我们来剖析一下吧。
01
JavaScript是啥
![80f304909549f37afef76259960afea9.png](https://img-blog.csdnimg.cn/img_convert/80f304909549f37afef76259960afea9.png)
JavaScript
JavaScript是一种属于网络的解释性脚本语言,已经被广泛用于Web应用开发,用来给HTML网页增加动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。它的解释器被称为JavaScript引擎,为浏览器的一部分。
02
V8是啥
![56c9ad7777d5f23f689274cfa1e70147.png](https://img-blog.csdnimg.cn/img_convert/56c9ad7777d5f23f689274cfa1e70147.png)
V8引擎
V8引擎就是JavaScript运行的解释器,是JavaScript一种引擎。它是Google开发的,作为chrome浏览器的JavaScript执行解释器,性能十分优秀,被广泛的使用。
03
何谓NodeJS
![e0452dc64e8d79ba42c7580c2a8701e8.png](https://img-blog.csdnimg.cn/img_convert/e0452dc64e8d79ba42c7580c2a8701e8.png)
NodeJS
在2009年的欧洲JavaScript大会上, 年轻程序员Ryan Dahl展示了他正在从事的一个项目,该项目是一个集成了Google V8 JavaScript引擎、事件循环和底层I/O应用编程接口(Application Programming Interface, API)的平台。
与其他服务器端的JavaScript平台不同,Dahl的平台中所有I/O原语都是事件驱动的,除此以外别无他途。借助JavaScript的影响力和易用性,Dahl的项目使得编写基于事件驱动的服务器端应用程序的任务由难变易, 因此,该项目受到了热烈欢迎, 并且它的发展、普及和被接受程度都是前所未有的。这个项目被命名为NodeJS。NodeJS不单单是JavaScript引擎,JavaScript引擎只是它的一个子集。
NodeJS中的JavaScript引擎没有BOM、DOM。NodeJS是JavaScript的一种运行环境,是对Google V8引擎进行的封装。是一个服务器端的JavaScript的解释器。
04
什么是NPM
![9d3975dba0d638244cbf1642ceceacca.png](https://img-blog.csdnimg.cn/img_convert/9d3975dba0d638244cbf1642ceceacca.png)
nmp管理工具
除了使用NodeJS语言特性及核心函数,我们还需要使用一些已经编写好的优秀的第三方库, 这也是为什么大多数编程平台都具有一个系统用来下载、 安装和管理第三方模块的原因。 在NodeJS中这个系统被称为NodeJS包管理器(NodePackage Manager, NPM)。NPM是三位一体的系统第三方包库、管理计算机中安装的包的机制以及定义包依赖关系的标准。NPM提供了一种公共注册服务,它包含了程序员在NPM中发布的所有包,NPM还提供了一个命令行工具用来下载、安装和管理这些包。
在早期,NPM和NodeJS是要分别独立安装的,但是从0.6.0版开始,NPM就己经包含在Node的安装包中。NodeJS中含有NPM。