1.什么是node.js
node.js是基于chrome v8 引擎的js运行环境
chrome v8 是什么 chrome提供的能把js语言编译成系统能够识别的语言的第八个版本;当然别的厂商也有不同的js编译器
chrome v8 做什么 chrome v8 能够独立运行,所以node.js可以基于v8生成自己的运行环境;也可以在浏览器中进行js解析,因为chrome v8 开源发展快,所以chrome 对es6等新技术支持比较快;
总的来说,node.js是JS的一个开发环境,是运行在服务端的JS
比如:app.js文件为
var a="hello node.js";
console.log(a);
2.什么是npm
npm是node.js 内置的一套包管理工具,比如jquery什么的,随着node的火爆发展,npm越来越庞大,插件越来越多
怎么理解npm和node的关系呢,node.js相当于qq游戏大厅,npm就是其中的小游戏
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
简单来说就是别人写好的开源包,我们可以拿来用,一般是一个npm包对应github里边的一个仓库.
我们使用它也很简单,只需要使用npm命令来下载对应的包,像moment这样的包有数以万计个,我们都可以下载使用。
发展历程
npm作者已经将npm开发完成,于是发邮件通知 jQuery、Bootstrap、Underscore 作者,希望他们把 jquery、bootstrap 、 underscore 放到npm远程仓库,但是没有收到回应,于是npm的发展遇到了瓶颈。
Node.js作者也将Node.js开发完成,但是 Node.js 缺少一个包管理器,于是他和 npm 的作者一拍即合、抱团取暖,最终 Node.js 内置了 npm。
后来的事情大家都知道,Node.js 火了。随着 Node.js 的火爆,大家开始用 npm 来共享 JS 代码了,于是 jQuery 作者也将 jQuery 发布到 npm 了。
所以现在,你可以使用 npm install jquery 来下载 jQuery 代码。现在用 npm 来分享代码已经成了前端的标配