fengffff v1.0.0
node安装
##进入官方网站 ##在相应的平台下,下载相应的版本,一个是最新版。 学习或者实验可以使用当前的版本,如果上线项目要用长期维护的版。偶数版本为稳定版,奇数版本为 最新版
安装
windows安装
- 下载相应的安装文件,一个是node.msi,一个是node.exe,exe就是执行一个二进制
node命令,必须手动的将node.exe放到全局的路径下,node.msi包含了node一些必备的环境和命令 要选择 add to path,将node.exe自动添加到全局路径下面 安装成功后可以执行
node -v
检测安装的node版本,以及是否安装成功2.mac 安装
3.linux安装
#npm
1.npm 包管理工具 node package manage,安装陈宫后可以执行node -v
检测安装的node版本,以及是否安装成功
2.为了node.js的程序人员开发方便,给我们提供列一个包管理工具,这样的话特别适合
3.他们的依赖关系等
#执行第一个程序
交互的方式运行node.js
- node 回车 进入node.js的编译环境
在这个环境,只要你输入符合node.js的规范代码,回车后会立即 ##编译型运行node.js
1.创建一个js文件
2.在命令行进入到文件所在的目录,通过
node node.js
来对这个js文件进行解析和执行,如果想在命令行
#node.js运行环境的配置
phpstorm 来配置node.js的运行环境
webstorm不用进行配置,已经把相应的环境配置好了
1.打开phpstorm配置项(setting)
2.找到plugins,搜索node.js的插件,搜索成功后点击install进行安装,安装完成后提示重启
3.打开配置项,language frameworks下能找到node and npm.插件安装成功
4 首先 让他可用,设置作用的区间,以及能够自动提示的语言
node.js方法的稳定等级
0废弃 已经废弃,不能使用
1实验 正在实验阶段,不建议使用,随时可能废弃
2不稳定 在某些平台可以使用,并且不太稳定,不建议使用,时刻关注
3稳定 进入稳定阶段,即使改动底层的接口和性能,不影响使用
4冻结 已经非常稳定,可以投入项目当中去使用
5锁定 很长时间内不会升级迭代,不接受修改(除非重大的bug)
#nodejs 全局变量 ##javascript里面的全局变量windows
nodejs有一个全局变量global
###global子对象 1.console
1.1 console.log()在控制台输出消息
1.2 console.error("error",) 在控制台输出错误信息
1.3 console.time()在程序运行之前来记录当前的时间信息
1.4 console.timeEnd()在程序运行之后来记录当前的时间信息
2.require引入新的变量
3.process用来操作或者用来获取或查看当前进程的相关信息
3.1process.argv 是用来获取命令行相关的参数,【“执行的二进制文件”,“当前运行的文件”】
3.2 chair 改变进程运行的目录 3.3 cwd()当前进程所在目录 3.4 stdin 标准的输入流
事件:“data” process.stdin.on("data",function(data)
主动去触发自定义事件 process.stdin.emit("end")
输入流的状态:
暂停:process.stdin.pause();
重启:process.stdin.resume();
3.5 stdout 标准的输出流
process.stdout.write()
###global里面的方法
1.setInterval()
2.clearInterval()
3.setTimeOut()
4.clearTimeOut()
5.require(path) 引入其他模块 require.cache 记录了当前文件所引用的所有模块 require.resolve("./node.js") 将引入模块的绝对路径
魔术常量
1._dirname当前运行文件的目录名
2._filename当前运行文件的文件名
#模块的概念 1.模块是node.js区别于js最重要的一个概念 它把每一个文件都当做是一个独立的作用域,每一个文件就是一个模块 在当前这个模块定义的所有的变量\函数,都是属于这个模块的,如果必须 通过global 来定义,那么在模块下定义的变量它的作用范围只能通过global定义的变量,那么它具有全局的作用范围
2.module exports 和exports mosule.exports===exports,能够将当前模块下的值发射出去,让引用烦人模块来获取响应的值 因为module.exports和exports他们是引用关系,如果直接
3.nodejs里面会分为3种模块
3.1 自定义的模块
3.2 内置的模块
3.3 外部的模块(包) #文件系统
打开fs.open fs.open(path,flags,mode,callback
path 打开文件的路径
flags 打开的方式 r w a
mode 打开的模式
读取fs.read fs.read(fd, buffer, offset, length, position, callback) fd 打开文件的编码
buffer 要保存读取内容的容器
offset 在容器中存储的起始位置
length 在容器当中存储的长度
position 读取文件的位置
callback 读取完成后执行的回调函数
读取文件的详细信息fs.start
fs.stat(path, callback)
path 文件的路径
callback 读取完成后执行的回调函数
fs.write写入文件
fs.write(fd, buffer, offset, length, position, callback)
fd 打开文件的编码
buffer 要写入的数据
offset 在文件的什么位置写入
length 在写入的数据的长度
position 写入的文件的位置
callback 读取完成后执行的回调函数
创建一个文件 fs.writeFile(file, data, options, callback) 1.文件的名字 2.写入的内容 3.设置的选项 4.写入完成后的回调函数 创建一个文件,并在文件内写入内容 fs.appendFile(file, data, options, callback) file 要操作的文件 data 要追加的内容、 options 指定选项 如果这个文件存在,网里面追加内容,若不存在那么就和writeFile()一样
9 years ago