mm_files 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -0
- package/package.json +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# 文件存储模块(mm_files)
|
|
2
|
+
|
|
3
|
+
## 说明
|
|
4
|
+
基于 `mm_helper` 文件工具函数与 `mm_mod` 的 `Base` 封装的文件存储适配器,提供文本/JSON 读写、复制、删除、目录遍历等能力,并支持 `os.js` 的 `admin` 工厂调用规则。
|
|
5
|
+
|
|
6
|
+
## 功能特点
|
|
7
|
+
|
|
8
|
+
- 文本与 JSON 文件的保存、加载
|
|
9
|
+
- 文件与目录的存在性判断
|
|
10
|
+
- 文件与目录的删除、复制、创建
|
|
11
|
+
- 目录文件/子目录列举与递归搜索(支持关键词、忽略目录、最大深度)
|
|
12
|
+
- 路径信息获取:所在目录、基础名、扩展名
|
|
13
|
+
- 所有相对路径自动基于配置的 `dir` 补全
|
|
14
|
+
|
|
15
|
+
## 依赖
|
|
16
|
+
|
|
17
|
+
- `mm_corejs`
|
|
18
|
+
- `mm_mod`
|
|
19
|
+
- `mm_helper`
|
|
20
|
+
|
|
21
|
+
## 安装
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install mm_files
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 快速开始
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
const { File, fileAdmin } = require('mm_files');
|
|
31
|
+
|
|
32
|
+
// 创建 File 实例,指定工作目录
|
|
33
|
+
const file = new File({ name: 'demo', dir: './data/' });
|
|
34
|
+
|
|
35
|
+
// 文本读写
|
|
36
|
+
file.saveText('hello.txt', 'hello mm_files');
|
|
37
|
+
console.log(file.loadText('hello.txt'));
|
|
38
|
+
|
|
39
|
+
// JSON 读写
|
|
40
|
+
file.saveJson('data.json', { ok: true });
|
|
41
|
+
console.log(file.loadJson('data.json'));
|
|
42
|
+
|
|
43
|
+
// 复制与删除
|
|
44
|
+
file.copyFile('hello.txt', 'hello_copy.txt');
|
|
45
|
+
file.delFile('hello.txt');
|
|
46
|
+
|
|
47
|
+
// 通过工厂函数获取实例
|
|
48
|
+
const file2 = fileAdmin('demo2', { dir: './data/' });
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## API
|
|
52
|
+
|
|
53
|
+
### 类 `File`
|
|
54
|
+
|
|
55
|
+
| 方法 | 说明 | 参数 | 返回值 |
|
|
56
|
+
|---|---|---|---|
|
|
57
|
+
| getFullname | 基于配置目录补全路径 | file | String |
|
|
58
|
+
| isFile | 是否为文件 | path | Boolean |
|
|
59
|
+
| isDir | 是否为目录 | path | Boolean |
|
|
60
|
+
| hasFile | 文件是否存在 | file | Boolean |
|
|
61
|
+
| hasDir | 目录是否存在 | dir | Boolean |
|
|
62
|
+
| saveText | 保存文本 | file, text | Boolean |
|
|
63
|
+
| saveJson | 保存 JSON | file, obj, format, space | Boolean |
|
|
64
|
+
| loadText | 加载文本 | file, encode | String \| undefined |
|
|
65
|
+
| loadJson | 加载 JSON | file | Object \| undefined |
|
|
66
|
+
| delFile | 删除文件 | file | void |
|
|
67
|
+
| delDir | 删除目录 | dir | void |
|
|
68
|
+
| addDir | 创建目录 | dir | void |
|
|
69
|
+
| copyFile | 复制文件 | source, target | Boolean |
|
|
70
|
+
| copyDir | 复制目录 | source, target | Boolean |
|
|
71
|
+
| getFile | 获取目录下的文件 | dir, keyword | Array |
|
|
72
|
+
| getDir | 获取目录下的子目录 | dir, keyword | Array |
|
|
73
|
+
| getAllFile | 递归搜索文件 | dir, keyword, keyword_dir, ignore, max_depth | Array |
|
|
74
|
+
| getAllDir | 递归搜索目录 | dir, keyword, ignore, max_depth | Array |
|
|
75
|
+
| getDirname | 获取所在目录 | path | String |
|
|
76
|
+
| getBasename | 获取基础名 | path | String |
|
|
77
|
+
| getExtname | 获取扩展名 | path | String |
|
|
78
|
+
|
|
79
|
+
### 导出
|
|
80
|
+
|
|
81
|
+
| 导出 | 说明 | 参数 | 返回值 |
|
|
82
|
+
|---|---|---|---|
|
|
83
|
+
| File | 文件存储类 | config | File |
|
|
84
|
+
| admin | 管理器实例 | - | Admin |
|
|
85
|
+
| fileAdmin | 获取指定作用域的文件实例 | scope, config | File |
|
|
86
|
+
|
|
87
|
+
## 配置项
|
|
88
|
+
|
|
89
|
+
| 配置 | 类型 | 默认值 | 说明 |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| name | String | `default` | 实例名称 |
|
|
92
|
+
| dir | String | `./data/` 的绝对路径 | 工作目录 |
|
|
93
|
+
| encode | String | `utf-8` | 文本读写编码 |
|
|
94
|
+
|
|
95
|
+
## 目录结构
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
mm_files/
|
|
99
|
+
├── lib/
|
|
100
|
+
│ └── file.js # File 实现
|
|
101
|
+
├── example/
|
|
102
|
+
│ └── index.js # 可运行示例
|
|
103
|
+
├── index.js # 模块入口
|
|
104
|
+
├── test.js # 测试
|
|
105
|
+
└── package.json
|
|
106
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mm_files",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "高性能文件存储操作模块,提供文件读写、复制、删除、遍历等能力,支持与mm_framework无缝集成",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
|
-
"url": "git+https://gitee.com/qiuwenwu91/
|
|
14
|
+
"url": "git+https://gitee.com/qiuwenwu91/mm_files.git"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"mm_mod",
|
|
@@ -46,4 +46,4 @@
|
|
|
46
46
|
"eslint-plugin-jsdoc": "^64.2.1",
|
|
47
47
|
"mm_eslint": "^1.7.7"
|
|
48
48
|
}
|
|
49
|
-
}
|
|
49
|
+
}
|