一、简介
- node.js是基于Chrome V8引擎的js运行环境。
- node.js的API:浏览器是JavaScript的前端运行环境,node.js是javascript的后端运行环境,node.js包括fs\path\http等API,node.js不包括dom\bom等前端API。
- node.js的作用: node.js作为JavaScript运行环境仅仅提供基础的功能和API。基于这些基础能力,我们可以利用很多强大的工具和框架,例如基于express框架可以快速构建web应用、基于electron框架可以构建跨平台的桌面应用,基于restify框架可以快速构建API接口项目等等。
- node.js学习路径:js基础语法-node.js内置API-第三方API模块(express、sql等)
- node安装:建议官网安装LTS稳定版,在终端(cmd\powershell)输入node -v检查node安装版本。
二、node.js内置API
1、fs文件系统模块
- 引入:const fs=require('fs')
- 读取指定文件中的内容:
- fs.readFile(path[,option],callback)path表示文件路径,字符串;option读取文件的编码格式,可选参数;callback文件读取完成后通过回调函数拿到读取的结果。
- 实例
const fs=require('fs')
fs.readFile('./files/11.txt','utf8',function(err,dataStr){
console.log(err)//如果读取成功err值默认等于null,如果读取失败则err值为错误对象
console.log('------')
console.log(dataStr)//如果读取失败则dataStr值为undifined
})
3.判断文件是否读取成功
fs.readFile('./files/11.txt','utf8',function(err,dataStr){
if(err){
return console.log('读取文件失败'+err.message)
}
console.log('读取文件成功,内容是'+dataStr)
})
- 向指定文件写入内容
- fs.writeFile(file,data[,option],callback)file表示文件存放路径,字符串;data表示要写入的内容;option读取文件的编码格式,可选参数;callback文件写入完成后的回调函数。
- 实例
const fs=require('fs')
fs.writeFile('./files/2.txt','abcd',function(err,dataStr){
console.log(err)//如果读取成功err值默认等于null,如果读取失败则err值为错误对象
})
3.判断文件是否读取成功
fs.writeFile('./files/2.txt','abcd',function(err){
if(err){
return console.log('写入文件失败'+err.message)
}
console.log('写入文件成功')
})
4.注意点:fs.writeFile()方法只能创建文件,不能创建路径。重复写入时新写入的内容会覆盖旧内容。
- 动态路径拼接容易产生错误的问题 路径以./或者../开头时容易出现路径错误的问题。
- 原因是:代码运行时,会以node命令所处的路径加上相对路径进行拼接出操作文件的路径,当node命令所处的路径改变则操作文件路径改变。
- 解决办法:用__dirname+绝对路径,__dirname表示当前文件所处的目录,是较为稳定的路径。
2、path路径模块
- 引入:const path=require('path')
- 路径拼接path.join():优点在于自动处理多的.少的/,注意点在于一个../抵消一层前面的路径。
const pathStr=path.join('/a','/b/c','../../','./d','e')
console.log(pathStr)//输出\a\d\e
- 获取路径的文件名path.basename(path[,ext]):获取路径中的最后一个部分,path是读取的路径;ext是文件拓展名,可选值,使用后删除文件名中的拓展名。
- 获取文件路径中的拓展名 path.extname(path)
3、http模块
- http模块的作用:
- HTTP模块是官方提供用来创建web服务器的模块。通过http.createServer()方法创建服务器软件,从而对外提供web资源服务。其导入方式与fs和path相同。
- 服务器与普通电脑的区别在于服务器上安装了web服务器软件,例如IIS(asp),apache(php)等,通过node.js提供的HTTP模块可以创建服务器软件。
- 服务器相关概念:
- IP地址是每台计算机的唯一地址,通常是a.b.c.d的形式,其中abcd是0~255之间的十进制整数,可以通过ping域名的方式查看服务器的IP地址。
- 域名是字符型的网址,IP地址和域名是一一对应的关系,这份对应关系存放在域名服务器DNS中。在开发测试期间,127.0.0.1对应的域名是localhost,代表本机。
- 端口号类似现实生活中的门牌号,服务器可以有多个web服务,每个web服务都对应一个唯一的端口号,客户端的网络请求通过端口号可以准确的交给对应的web服务进行处理。在实际应用中,端口号80可以省略。
-
创建基本的web服务器
-
第四
-
第五