一.什么是node.js:
Node.js是一个基于Chrome v8引擎的JavaScript运行环境
浏览器是JavaScript的前端运行环境
node.js是javas的后端运行环境
在node.js中无法调用DOM和BOM等浏览器内置API
二.使用终端在node.js环境中执行JavaScript代码:
在终端中输入 node js文件路径
如果在同一目录下只需要输入 node js文件名
三.node.js中fs文件系统模块:
fs模块式Node.js官方提供的、用于操作文件的模块。他提供了一系列的方法和属性,用来满足用户对文件的操作需求。
例如:
fs.readFile()方法,用于读取文件中的内容
fs.writeFile()方法,用于向指定文件写入内容
在JavaScript代码中,需要使用如下方式导入:
const fs = require('fs')
fs.readFile()的语法格式:
fs.readFile(path, [options], callback)
参数1:必选参数,字符串,表示文件的路径
参数2:可选参数,表示以什么编码格式来读取文件
参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果
文件读取成功时,err的值为null,文件读取失败时,err的值为错误对象
因此可以通过err的值来进行文件读取的判断,如果为null则读取成功,如果不为null则读取失败
fs.writeFile()的语法格式:
fs.writeFile(file, data, [options], callback)
参数1:必选参数,字符串,表示文件的存放路径
参数2:必选参数,表示写入的内容
参数3:可选参数,表示以什么格式写入文件内容,默认值是utf-8
参数4:必选参数,文件写入完成后的回调函数
文件写入成功时,err的值为null,文件写入失败时,err的值为错误对象
因此可以通过err的值来进行文件写入的判断,如果为null则写入成功,如果不为null则写入失败
路径动态拼接问题:
在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径动态拼接错误的问题。
原因:代码在运行的时候,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径
解决办法:填写完整的文件路径 (缺点是不利于维护)
__dirname表示文件所处的目录,在文件目录前加__dirname就能够展示完整的文件路径
四.node.js中path路径模块:
path模块是node.js官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
例如:
path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串
path.basename()方法,用来从路径字符串中,将文件名解析出来
在JavaScript代码中,需要使用如下方式导入:
const path = require('path')
path.join()语法格式:
使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:
path.join([...[paths])
...paths<string> 路径片段的序列
返回值:<string>
注意:在path.join()里面../会抵消一层路径
路径拼接操作尽量使用path.join()方法处理,不要直接使用+拼接
path.basename()语法格式:
使用path.basename()方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名,语法格式如下:
path.basename(path, [ ext])
path<string>必选参数,表示一个路径的字符串
ext<string>可选参数,表示文件扩展名
返回值:<string>表示路径中的最后一部分
path.extname()的语法格式:
使用path.extname()方法,可以获取路径中的扩展名部分,语法格式如下:
path.extname(path)
path<string>必选参数,表示一个路径的字符串