path
const path = require('path');
//ESM
import * as path from 'path';
API | 说明 | |
---|---|---|
__dirname | 不包含文件名本身的绝对路径 | |
__filename | 包含文件名本身的绝对路径 | |
path.resolve | 都可以看成cd操作 resolve在传入非 / 路径时,会自动加上当前目录形成一个绝对路径,而join仅仅用于路径拼接 |
|
path.join | ||
path.dirname(path) | 返回目录名 | |
//ESM
// import.meta.url 返回模块的绝对的 `file:` URL。
// url模块中fileURLToPath()函数,返回完全解析的特定于平台的 Node.js 文件路径
// path模块中dirname()函数,返回路径的目录路径
import { fileURLToPath } from 'url';
import { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
import.meta是一个给 JavaScript 模块暴露特定上下文的元数据属性的对象。它包含了这个模块的信息,比如说这个模块的 URL。
fs
https://www.runoob.com/nodejs/nodejs-fs.html
具有sync后缀的方法为同步方法,不具有sync后缀的方法为异步方法
const fs = require('fs');
const fs = require('fs').promises;
//EMS
import * as fs from 'fs';
import { promises as fsPromises } from 'fs';
API | 说明 | |
---|---|---|
fs.access/fs.accessSync | 检查文件的权限 | |
fs.existsSync | 如果路径存在则返回 true,否则返回 false | |
fs.readFile/fs.readFileSync | 读取文件的全部内容 | |
fs.writeFile/fs.writeFileSync | 写入文件 | |
fs.mkdir/fs.mkdirSync | 创建目录 |
- fs.access ```javascript const file = ‘text.txt’;
// 检查文件是否存在于当前目录中。
fs.access(file, fs.constants.F_OK, (err) => {
console.log(${file} ${err ? '不存在' : '存在'}
);
});
// 检查文件是否可读。
fs.access(file, fs.constants.R_OK, (err) => {
console.log(${file} ${err ? '不可读' : '可读'}
);
});
// 检查文件是否可写。
fs.access(file, fs.constants.W_OK, (err) => {
console.log(${file} ${err ? '不可写' : '可写'}
);
});
// 检查文件是否存在于当前目录中、以及是否可写。
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
if (err) {
console.error(
${file} ${err.code === 'ENOENT' ? '不存在' : '只可读'}
);
} else {
console.log(${file} 存在,且可写
);
}
});
```
process
process 对象提供有关当前 Node.js 进程的信息并对其进行控制。 虽然它作为全局可用,但是建议通过 require 或 import 显式地访问它:
API | 说明 | 文档 |
---|---|---|
process.argv | 命令行参数 | http://nodejs.cn/api-v12/process.html#processargv |
process.cwd() | 进程的当前目录(绝对路径) | |
process.env | 环境信息 |