全局变量
_dirname 读音:得累木
定义:
-
_dirname
表示当前文件(模块)所在的目录名称 - Dir:directory 文件夹、目录
- Name:名字
语法
console.log(_dirname);
输出
(D:\js2023\4月\0329\1-globl.js:1:13) //本地路径
_filename 读音:乏哦
定义:
-
_filename
表示当前文件(模块)的名称 - file: 文件
- name:名字
语法
console.log(_filename);
输出
(D:\js2023\4月\0329\1-globl.js:2:13) //本地路径
内置模块 Path
定义:
-
node:payh
是一个内置模块。它提供了处理文件路径的API。路径分为:- 文件路径
- 文件夹路径
- 使用
path
模块,第一步做什么?
path.basename() 读音:被死
定义:
-
path.basename()
方法返回 path 的最后一部分
语法
path.basename('路径',)
返回值:
-
path.basename()
方法返回 path 的最后一部分
path.dirname(path)
定义:
-
path.dirname()
用于返回当前目录的路径
语法
path.dirname('path')
返回值:
path.extname(path)
定义:
path.extname()
语法
path.extname('path')
返回值:
-
path.extname()
方法返回
path.parse() 读音:怕死
定义:
-
path.parse()
方法用于从路径字符串返回一个对象
语法
path.parse('字符串的路径')
返回值:
-
path.parse()
方法返回一个表示路径的对象
示例
console.log(__filename);
console.log(path.parse(__filename));
输出
{
root: 'D:\\',
dir: 'D:\\js2023\\4月\\0329',
base: '2-path.js',
ext: '.js',
name: '2-path'
}
path.format(pathObject)
定义:
-
path.format()
方法用于从路径对象转路径字符串
语法
path.format('路径对象')
返回值:
-
path.parse()
方法:返回一个路径字符串
示例
const obj = path.parse(__filename)
console.log(path.format(obj));
path.join()
定义:
-
path.join()
方法用于把路径片段连接为规范路径 - 简言之:连接路径片段
语法
path.join()
path.join('路径片段','路径片段',...)
返回值:
-
path.join()
方法:返回一个拼接好的规范的路径
示例
const p1 = path.join('fold1','folder2','index.html')
console.log(p1);
const p2 = path.join('/fold1','/folder2','index.html')
console.log(p2);
const p3 = path.join('/fold1','/folder2','.index.html')
console.log(p3);
const p4 = path.join('/fold1','/folder2','..index.html')
console.log(p4);
path.isAbsolute()
定义:
-
path.isAbsolute()
方法用于检测一个路径是否是绝对路径
语法
path.isAbsolute(path)
返回值:
-
path.isAbsolute()
方法:返回一个布尔值
示例
console.log(path.isAbsolute(__filename)); //true
console.log(path.isAbsolute('./data.json')); //false
path.resolve()
定义:
-
path.resolve()
方法用于解析为绝对路径
语法
path.resolve([...paths])
返回值:
-
path.resolve()
方法:返回绝对路径字符串
示例
console.log(path.isAbsolute(__filename)); //true
console.log(path.isAbsolute('./data.json')); //false
FS
FS模块(FS系统)
定义:
-
FS
文件系统模块允许操作计算机系统上的文件。具体操作如下:- 读取
- 创建
- 修改
- 删除
引入FS模块系统
要使用fs文件系统,请先引入fs模块
语法:基于Promise API(标准)
const fs = require('node:fs/promises');
语法:基于回调函数(默认)
const fs = require('node:fs');
fs.readFile()
定义:
-
readFile()
方法用于(异步)读取文件内容
语法
fs.readFile('文件路径',callback)
fs.readFile('文件路径',(err,data) => {
if(err) console.log(err)
console.log(data)
})
返回值:
-
readFile()
返回读取成功的内容。
数据类型:buffer
定义:
语法
返回值:
npm
- Npm是“Node Package Manager”的缩写,意思:Npde软件包管理工具
- NPM的主要内容:
- 安装软件包
- 删除软件包
- 分享你自己写的软件包(npmjs.com)
- NPM是世界上最大软件包平台。
- NPM的构成:
- 官网(https;//npmjs.com):查询软件包
- CLI(Command Line lnterface):命令行交互工具
- 官网注册表:JS软件包的仓库
1._dirname是什么?
表示当前文件(模块)所在的**目录名;
2.__filename是什么?
表示当前文件(模块)的名称。
3.path模块的用途是什么?
1.是一个内置模块。
2.它提供了处理路径的API。
3.路径分为:1.文件路径、2.文件夹路径
4.如何把一个字符串路径转成对象?
path.parse('路径')
console.log(path.parse(__filename));
5.如何提取当前Js文件的文件名?
path.basename(__filename)
console.log(path.basename(__filename));
6.path.join('/fold1',//folder2',../index.html') 的结果是什么?
结果:一个拼接好的规范的路径
\fold1\index.html
7.path.resolve('/fold1','/folder2',../hello.html') 的结果是什么?
结果:绝对路径字符串
D:\hello.html
8.写出读取同级文件data.txt内容的代码:
Data.txt
Hello world
index.js()
const fs = require('node:fs')
fs.writeFile('./data.md','hellow world',(err)=>{
if(err){console.log(err)}
else{
console.log('写入成功');
}
})
9.NPM是什么?
1.NPM的主要内容:安装软件包、删除软件包、分享你自己写的软件包;
2.NPM是世界上最大软件包平台;
3.NPM的构成:官网查询软件包、CLI命令行交互工具、软件注册表:JS软件包的仓库;
10.package.json 文件的用途是什么?
1.用于描述你的模块文件。
2.用于配置你的模块文件。
3.package.json描述了如何使用模块文件。
4.一个pacakge(软件包)必须包含一个package.json文件。
5.package.json文件的创建方法:
手动创建
半自动:npm init命令创建
自动:npm init --yes命令创建
11.如果说使用第三方模块一共有四步,你认为有哪四步?
第一步:创建文件夹
mkdir buhaoqi-package
第二步:创建index.js
cd buhaoqi-package
New-item index.js
第三步:安装upper-case模块
npm install upper-case
第四步:修改index.js内容
const upperCase = require('upper-case').upperCase
function hello(name){
console.log(upperCase(`hello ${name},good good study!`));
}
hello('zhangsan')
module.exports = hello
第五步:运行index.js
node index