Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。
Node是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
总结: Node.js 是一个让 JavaScript 运行在服务端的开发平台,有了Node.js我们就可以使用JavaScript这门语言做服务器端的编程应用。
每一个浏览器都有一个内核,内核中有引擎。引擎分为:渲染引擎(渲染DOM)和脚本引擎(运行脚本语言)。
脚本引擎中最流行的就是chrome中的V8引擎。
什么是模块化? Node.js一个重要的特性就是模块化,模块就是node.js对常用功能进行分组的方式。
为什么要模块化?
模块化方便日常的维护最大程度的实现代码复用什么是高内聚、低耦合? 高内聚:表示模块的独立性、独立性越强、内聚度越高 耦合度:表示模块之间的关系,关系越紧密、耦合度越高
1、一个文件就是一个模块,模块里面的成员是私有的,各模块之间相互独立
2、由于模块之间相互独立,如果其他模块想要使用该模块里面的成员,那么该模块必须把该成员暴露出来,暴露的方式可以是exports或者module.exports
3、如果要引用其他模块,那么必须使用require引入
注意:引入核心模块、第三方模块和引入自定义模块的区别。引入核心模块、第三方模块时,可以使用require('模块名')直接引用,引入自定义模块时使用require('路径+模块名')引入。
npm 常用命令
初始化:npm init查看版本:npm -v安装模块:npm install 全局安装:npm install -g卸载模块:npm uninstall 更新模块:npm update 搜索模块:npm search 清除缓存:npm cache clear查看包信息:npm info <包名>查看包文档:npm docs <包名>查看包版本信息:npm info <包名> versions安装指定版本:npm install <包名>@版本号 -S查看全局安装目录:npm root -g修改存储目录:npm config set prefix “d\xxxx”扩展nrm
安装nrm: npm install nrm -g查看可用的源:nrm ls切换源:nrm use 源的名字添加公司私有源 nrm add <源名称> http://xxxxxcnpm是淘宝镜像,因为npm服务器在国外,下载速度慢,所以下载源可以改成国内的淘宝镜像。全局安装:npm install -g cnpm。安装后,可以使用cnpm命令下载模块。
yarn是Facebook的大牛开发出来的一个包管理器,功能和npm类似。
yarn常用命令
npm install yarn -g 安装yarnnpm install nrm -g 安装nrmnrm ls 查看可用源nrm use 源名 切换源yarn init == npm inityarn global add == npm install -g yarn global bin == npm -g binyarn add 包名== npm install 包名 --saveyarn add 包名 -dev == npm install 包名 --dev-saveyarn update 包名 == npm undate 包名 更新包yarn remove 包名 == npm uninstall 包名 删除包yarn bin 全局安装目录yarn cache ls 查看缓存yarn clear 清除缓存yarn install 安装所有包