初步学习Node.js
什么是Node.js
Node.js是一个基于Chrome V8引擎的JavaScript运行时。点击进入Node.js官网
注意:
- 浏览器是JavaScript的前端运行环境,而Node.js是JavaScript的后端运行环境
- Node.js中无法调用DOM和BOM等浏览器内置API
判断node.js是否安装成功
win
+R
输入cmd
打开终端,输入node -v
查看版本号,如果有版本号则表示node.js安装成功
在node.js环境中执行JavaScript代码
首先打开终端,用cd
命令切换到需要执行的js文件的目录,默认在C盘,如果在其他盘符就需要先切换到该盘符,使用命令D:
,如下图所示
切换到指定目录后,使用node 要执行的文件名
命令来执行指定文件中的JavaScript代码
执行结果
fs文件系统模块
什么是fs文件系统模块
fs模块是Node.js官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作希求。
读取指定文件中的内容
使用fs.readFile()
方法,可以读取指定文件的内容,具体语法如下
fs.readFile(path[, options], callback);
参数 | 描述 |
---|---|
path | 必选,字符串,表示文件的路径 |
options | 可选,表示以什么编码格式来读取文件 |
callback | 必选,文件读取完后,通过回调函数来拿到读取的结果 |
注意,在调用fs模块的readFile()
方法需要使用require
方法导入模块
const fs = require("fs");
示例:
// 使用require方法导入fs模块
const fs = require("fs");
// 调用readFile()方法读取文件
fs.readFile("./files/test.txt", "utf-8", function(err, dataStr){
console.log("err:"+err);
console.log("--------");
// dataStr就是test.txt文件中的内容
console.log("dataStr:"+dataStr);
});
结果如下
如果读取失败(把path参数中的文件名改一下)
// 使用require方法导入fs模块
const fs = require("fs");
// 调用readFile()方法读取文件
fs.readFile("./files/test11.txt", "utf-8", function(err, dataStr){
console.log("err:"+err);
console.log("--------");
// dataStr就是test.txt文件中的内容
console.log("dataStr:"+dataStr);
});
那么输出的dataStr将会是undefind
,err中存有错误信息,值为错误对象
判断文件是否读取成功
可以判断回调函数的参数err的值,如果err的值为null
,则表示文件读取成功,否则读取文件失败
// 导入fs模块
const fs = require("fs");
fs.readFile("./files/text.txt","utf-8",function(err, dataStr){
// 如果存在错误对象,则证明读取文件失败
if(err){
return console.log("读取文件失败:"+err.message);
}
console.log("读取文件成功:"+ dataStr);
});
来看一下实际效果(分别为读取成功和读取失败)
向指定的文件中写入内容
使用fs.writeFile()
方法,可以向指定的文件中写入内容,语法格式如下:
fs.writeFile(file, data[, options], callback);
参数 | 描述 |
---|---|
file | 必选参数,文件路径字符串,表示文件的存放路径 |
data | 必选参数,表示要写入的内容 |
options | 可选参数,表示以什么格式写入文件内容,默认是utf8 |
callback | 必选参数,文件写入完成后的回调函数 |
示例:
const fs = require("fs");
// 默认以utf8格式写入文件
fs.writeFile("./files/写入的文件.txt", "Hello Node.js!", function(err){
console.log(err)