0
点赞
收藏
分享

微信扫一扫

初识 Node.js 与内置模块

前程有光 2022-01-17 阅读 92

初识 Node.js 与内置模块

一、在 Node.js 环境中执行 JavaScript 代码

  1. 打开终端
  2. 切换到 js 文件目录
  3. 输入 node 要执行的 js 文件的路径

在这里插入图片描述

二、fs 文件系统模块

1、读取指定文件中内容

fs.readFile() 的语法格式:
fs.readFile(path[, options], callback)
fs.readFile() 示例
文件:

在这里插入图片描述

代码:
// 1.导入fs模块,来操作文件
const fs = require('fs')
// 2.调用 fs.readFile()方法读取文件
// 参数1:读取文件的路径
// 参数2:读取文件的编码格式,一般默认指定 utf8
// 参数3:回调函数,拿到读取失败和成功的结果 err dataStr
fs.readFile('./files/12.txt', 'utf8', function (err, dataStr) {
    // 如果读取成功,则err的值为null
    // 如果读取失败,则err的值为错误对象
    console.log(err); //打印失败
    console.log("-------------");
    console.log(dataStr); //打印成功
})
结果:

在这里插入图片描述

2、向指定的文件中写入内容

fs.writeFile() 的语法格式:
fs.writeFile(file, data[, options], callback)
fs.writeFile() 示例
代码:
// 1.导入fs模块,来操作文件
const fs = require('fs')
// 2.调用 fs.writeFile(),写入文件的内容
// 参数1:文件的存放路径
// 参数2:要写入的内容
// 参数3:回调函数
fs.writeFile('f:/files/2.txt', 'abcd', function (err) {
    // 如果文件写入成功,则 err 的值为null
    // 如果文件写入失败,则 err 的值为错误对象
    console.log(err); //打印失败
})
文件:

在这里插入图片描述

结果:

在这里插入图片描述

三、fs 模块 - 路径动态拼接的问题

路径动态拼接错误问题: 操作路径是已 ./ 或 …/ 开头的相对路径

原因: 代码在运行的时候, 会执行 node 命令时所处的目录, 动态拼接出被操作文件的完整路径

解决方案: 在使用 fs 模块操作文件时, 直接提供完整的路径, 不要提供 ./ 或 …/ 开头的相对路径, 从而防止路径动态拼接的问题

__dirname 表示当前文件所处的目录

在这里插入图片描述

const fs = require('fs')

fs.readFile(__dirname + '/files/1.txt', 'utf8', function (err, dataStr) {
    if (err) {
        return console.log("读取文件失败!" + err.message);
    } else {
        console.log("读取文件成功!" + dataStr);
    }
})

四、path 路径模块

path 模块是用来处理路径的模块

  • path.join() 方法, 用来将多个路径片段拼接成一个完整的路径字符串
  • path.basename() 方法, 用来从路径字符串中, 将文件名解析出来
  • path.extname() 方法, 可以获取路径中的扩展名部分

在 JavaScript 代码中导入

const path = require("path")

1. path.join()

可以把多个路径片段拼接为完整的路径字符串

语法格式
path.join([...paths])
代码示例
const path = require("path")

// 注意: ../ 会抵消前面的路径
const pathStr = path.join("/a", '/b/c', '../', './d', 'e')
console.log(pathStr); //输出 \a\b\d\e

const pathStr2 = path.join(__dirname, './files/1.txt')
console.log(pathStr2); //输出 D:\Vscode\VSCodeSample\Node.js\files\1.txt

2. path.basename()

可以获取路径中的最后一部分, 经常通过这个方法获取路径中的文件名

语法格式
path.basename(path[, ext])
代码示例
const path = require('path')

// 定义文件的存放路径
const fpath = '/a/b/c/index.html'

const fullName = path.basename(fpath)
console.log(fullName); // 输出 index.html

const nameWithoutExt = path.basename(fpath, '.html')
console.log(nameWithoutExt); // 输出 index

3. path.extname()

可以获取路径中的扩展名部分

语法格式
path.extname(path)
代码示例
const path = require('path')

// 定义文件的存放路径
const fpath = '/a/b/c/index.html'

const fext = path.extname(fpath)
console.log(fext); // 输出 .html
举报

相关推荐

0 条评论