一、什么是node.js
node.js是编写高性能网络服务器的JavaScript工具包,让javscript运行在服务端的开发平台。
Node.js采用的是谷歌v8引擎。(v8引擎执行javascript速度非常快,性能非常好)
node.js适合做I/o密集型项目;不适合做计算密集型项目
node.js的特点:快、耗内存多、单线程语言、异步式、事件驱动最大特点就是采用异步式I/o与事件驱动的架构设计。对于高并发的解决方案,传动的架构是多线程模式,也就是为每个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式I/o调用时的时间开销。Nide.js使用的单线程模型,在执行的过程中会维护一个事件对列,程序在执行时在进入时间循环等待下一个事件到来
Node.js的优点:性能高,开发效率高(省优化),应用范围广
二、Node中的内置对象:
1、console:
2、__dirname:文件所在的位置
3、__filename:文件所在位置加上文件名称
4、exports:把当前文件的内容曝光(其他文件可以通过require使用exports曝光的内容)使用exports曝光的内容,必须给exports添加属性
5、module:在node中一般使用exports一起使用来曝光内容
1):exports必须添加属性,module.exports可以不添加属性
2):module.exports和exports可以曝光任何类型的内容
3):exports和module.exports分别曝光:普通变量,函数,对象,构造函数,工厂函数
三、Node.js中的官方模块(核心模块)
1、path模块:提供一些处理文件路径的小工具。
方法:
1)normalization:格式化路径
2)join:连接路径
3)resolve:转换为绝对路径
4)extname:路径中文件的后缀名:
5)parse:返回路径字符串的对象
返回对象:
root:根目录
dir:路径
base:当前文件的文件夹
ext:扩展名
name:文件的名字
6)basename:返回路径中最后一部分
2、OS(操作系统):
方法:
1、arch():返回操作系统CPU架构
2、cpus():返回一个对象数组,包含所安装的每个CPU的
3、Process(进程):用于描述node.js进程状态的对象
属性:(用于返回系统信息)
Pid:进程号
Stdout:指向标准输出
Stdin:指向标准输入
方法:
exit():使用指定的code结束进程
cwd():返回当前进程的工作目录
chdir():改变当前工作进程的目录。如果操作失败抛出异常
nextTick():一旦事件循环结束,调用回到函数
4、Util(常用工具)
1、Util.inherits()是一个实现对象间原型继承的函数
2、util.inspect()可以将任意对象转换为字符串的方法,可分成次有结构的组织对象
3、util.isArray():判断给定的参数是否为一个数组是返回true否返回false;
4、util.isRegExp()判断给定的参数是否为正则表达式是返回true否返回false;
5、uti.isDate():判断给定的参数是否为一个日期是返回true否返回false;
5、fs:file system:文件系统
什么是文件:在电脑中什么都是文件(除文件夹);
文件中放的是:文件内容(读和写)
在nodejs中,使用fs核心模块读写文件
1、同步读文件:.readFileSync(‘’)//参数是要读文件的路径,返回文件的内容到buffer中
2、异步读文件:.readFile()这个方法有两个参数,第一个是要读文件的路径,第二个是回调函数(ps:回调函数有俩个参数第一个是当文件出错时的错误信息,第二个参数是读到文件的内容)
3、同步写文件:.writeFileSync()有两个参数第一个是路径,第二个参数是要编写的内容如果第一个参数没有该文件,则会创建文件默认的编码格式是utf-8
4、异步写入文件:.writeFile():这个方法有两个参数,第一个是要读文件的路径,第二个是回调函数,如果第一个参数没有该文件,则会创建文件
5、追加文件内容
1)、同步.appendFileSync()第一个参数是文件的路径,第二个是文件的内容
2)、异步:appendFile();
6、重命名文件
1)、同步: renameSync()有俩个参数第一个是已有文件名,第二是要改的文件名
2)、异步:rename();