__dirname
定义:表示当前文件(模块)所在的目录名称。
- Dir:directory 文件夹 、目录
- Name:名字
语法
console.log(__dirname); //全局直接调用
示例
console.log(__dirname);
输出
E:\HTML(张)\练习\2023\0329
__filename
定义:表示当前文件(模块)的名称。
- file:文件
- Name:名字
语法
console.log(__filename);
示例
console.log(__filename);
输出
E:\HTML(张)\练习\2023\0329\1.js
内置模块 Path
定义:node:path
是一个内置模块。它提供了处理文件路径或文件夹路径的API。
路径分为:
- 文件路径
- 文件夹路径
使用path
模块,第一步做什么?
path.basename()
定义:
语法
path.basename('路径','删除的后缀名')
返回值:方法返回 path 的最后一部分
示例
const path = require("node:path")
console.log(__filename);
console.log(path.basename(__filename));
console.log(path.basename(__filename,'.js'));
console.log(path.basename(__dirname));
输出
/Users/zj/Desktop/7/0329/2-path.js
2-path.js
2-path
0329
path.dirname(path)
定义:用于返回当前目录的路径。
语法
path.dirname( ' path ' )
path.extname( path )
定义:返回的是当前文件的扩展名。
path.parse( )
定义:用于从路径字符串返回一个对象。
语法
path.parse( '路径' )
返回值:返回一个表示路径的对象。
示例
const path = require("node:path")
console.log(__filename)
console.log(path.parse(__dirname))
//输出
E:\HTML(张)\练习\2023\0329\2.js
{
root: 'E:\\',
dir: 'E:\\HTML(张)\\练习\\2023',
base: '0329',
ext: '',
name: '0329'
}
path.format( )
定义:从路径对象转路径字符串。
语法
path.format(路径对象)
返回值:返回路径字符串
示例
const path = require("node:path")
console.log(__filename)
console.log(path.parse(__filename))
const obj = path.parse(__filename)
console.log(path.format(obj))
输出
E:\HTML(张)\练习\2023\0329\2.js
{
root: 'E:\\',
dir: 'E:\\HTML(张)\\练习\\2023\\0329',
base: '2.js',
ext: '.js',
name: '2'
}
E:\HTML(张)\练习\2023\0329\2.js
path.join()
定义:用于把路径片段链接为规范路径。(链接路径片段)
语法
path.join()
path.join( ' 路径片段1 ',' 路径片段2 ',... )
返回值:一个拼接好的规范的路径
示例
console.log(path.join('fold1','folder2','index.html'));
console.log(path.join('/fold1','//folder2','../index.html'));
输出
fold1\folder2\index.html
\fold1\index.html
path.isAbsolute( )
定义:用于检测一个路径是否是绝对路径
语法
path.isAbsolute( path )
返回值:布尔值
示例
console.log(path.isAbsolute(__filename));
console.log(path.isAbsolute('./data.js'));
输出
true
false
path.relative( )
定义:用于解析为绝对路径
语法
path.resolve([...paths])
返回值:返回绝对路径字符串
示例
console.log(path.relative('aaa','/bbb','index.html'));
console.log(path.relative('/aaa','bbb','index.html'));
console.log(path.relative('aaa','/bbb','../index.html'));
输出
..\..\..\..\..\bbb
..\HTML(张)\练习\2023\0329\bbb
..\..\..\..\..\bbb
FS模块(FS系统)
定义:FS文件系统模块允许操作计算机系统上的文件。具体操作如下:
- 读取
- 创建
- 修改
- 输出
引入FS文件系统
要使用fs文件系统,请先引入fs模块
语法:基于Promise API
语法:基于回调函数(默认)
const fs = require(" node:fs ")
fs.readFile()
定义:用于(异步)读取文件内容。
语法
fs.readFile( ' 文件路径 ' ,callback )
fs.readFile( ' 文件路径 ' ,(err,data) =>{
if(err) console.log()
console.log(data)
} )
返回值:读取成功的内容。
数据类型:buffer
fs.writeFile( )
定义:
语法
fs.writeFile(file, data[, options], callback)
npm是什么
- npm是"Node Package Manager"的缩写,意思:Node软件包管理工具
- NPM的主要内容
- 安装软件包
- 删除软件包
- 分享你自己的软件包(npmjs.com) - NPM是世界上最大软件包平台。
- NPM的构成:
- 官网 (https://npmjs.com):查询软件包
- CLI ( Command Line Interface ):命令行交互工具。
- 软件注册表:JS软件包的仓库
使用方法
package
- 意思:软件包
- 一个package由1个或多个模块组成。
package.json
- 用于描述你的模块文件。
- 用于配置你的模块文件。
- package.json描述如何使用软件包。
- 一个package(软件包)必须包含一个
package.json
文件。
创建方法:
- 手动创建
- npm init命令创建
- npm init --yes命令创建
module
- 模块就是一个文件或文件夹
- 所有的模块必须拥有
package.json
版本号
NPM采用的是Sementic Version Controls系统
语法
X.Y.Z
1.1.3
初始版本号一般默认:0.1.0
正式发布:1.0.0
- X:Major Version 主板本号
- - Y:Minor Version 副板本号
- Z:patch Version Bug版本号
node_modules
- 用于