Mongez fs
Mongez FS是一个用于Nodejs的sync
文件系统,旨在使使用文件系统更轻松,更高效。
安装
npm install @mongez/fs
使用纱线
yarn add @mongez/fs
使用PNPM
pnpm add @mongez/fs
用法
所有方法都是同步的,因此您可以在代码中使用它们,而无需回调或承诺。
import { fileExists } from '@mongez/fs';
复制文件或目录
将文件或目录复制到另一个位置。
import { copyPath } from '@mongez/fs';
copyPath('path/to/file', 'path/to/destination');
另外,您可以使用copyFile
和copyDirectory
分别复制文件或目录。
检查文件或目录是否存在
检查路径是否存在
import { pathExists } from '@mongez/fs';
if (pathExists('path/to/file')) {
// do something
}
检查文件是否存在
import { fileExists } from '@mongez/fs';
if (fileExists('path/to/file')) {
// do something
}
检查目录是否存在
import { directoryExists } from '@mongez/fs';
if (directoryExists('path/to/directory')) {
// do something
}
检查是否是文件
检查路径是否是文件
import { isFile } from '@mongez/fs';
if (isFile('path/to/file')) {
// do something
}
检查是否是目录
检查路径是否是目录
import { isDirectory } from '@mongez/fs';
if (isDirectory('path/to/directory')) {
// do something
}
isDir
是对isDirectory
的别名
获取文件内容
获取文件的内容
import { getFile } from '@mongez/fs';
const content = getFile('path/to/file');
更新或创建文件内容
将内容放入文件
import { putFile } from '@mongez/fs';
putFile('path/to/file', 'content');
此功能将在不存在时更新或创建文件。
附加内容以文件
将内容附加到文件的末尾。
import { appendFile } from '@mongez/fs';
appendFile('path/to/file', 'content');
预先申请内容
预先登录文件的开始。
import { prependFile } from '@mongez/fs';
prependFile('path/to/file', 'content');
获取JSON文件内容
获取JSON文件的内容并将其解析为对象
import { getJsonFile } from '@mongez/fs';
const content = getJsonFile('path/to/file.json'); // will return an object
此功能将在不存在时更新或创建文件。
将JSON提交
将内容放入JSON文件
import { putJsonFile } from '@mongez/fs';
putJsonFile('path/to/file.json', { key: 'value' });
在数组中获取文件行
在数组中逐行获取文件线
import { lines } from '@mongez/fs';
const lines: string[] = lines('path/to/file');
如果文件不存在,将返回一个空数组。
删除文件或目录
删除文件或目录
import { removePath } from '@mongez/fs';
removePath('path/to/file');
要删除文件,您可以使用removeFile
或unlink
import { removeFile, unlink } from '@mongez/fs';
removeFile('path/to/file');
unlink('path/to/file');
要删除目录,您可以使用removeDirectory
或rmdir
import { removeDirectory, rmdir } from '@mongez/fs';
removeDirectory('path/to/directory');
rmdir('path/to/directory');
重命名文件或目录
重命名文件或目录
import { renamePath } from '@mongez/fs';
renamePath('path/to/file', 'path/to/destination');
的别名
renameFile
renameDirectory
是renamePath
移动文件或目录
将文件或目录移至另一个位置
import { movePath } from '@mongez/fs';
movePath('path/to/file', 'path/to/destination');
moveFile
koude13是movePath
的别名
创建新目录
创建目录,如果目录不存在任何事情。
import { makeDirectory } from '@mongez/fs';
makeDirectory('path/to/directory');
mkdir
和createDirectory
是makeDirectory
如果目录已经存在,它将丢弃错误。
您还可以递归创建一个目录
import { makeDirectory } from '@mongez/fs';
makeDirectory('path/to/directory', {
recursive: true,
});
默认情况下,
recursive
设置为true
要设置目录权限,您可以使用mode
选项
import { makeDirectory } from '@mongez/fs';
makeDirectory('path/to/directory', {
mode: 0o777, // this is default mode
});
确保存在目录
如果仅在不存在时创建目录,则可以使用ensureDirectory
import { ensureDirectory } from '@mongez/fs';
ensureDirectory('path/to/directory');
如果不存在,这将创建目录,否则无需做任何事情。
最后修改时间
获取文件或目录的最后修改日期
import { lastModified } from '@mongez/fs';
const lastModified = lastModified('path/to/file'); // will return a Date object
要获得文件的最后修改时间,请使用fileLastModified
import { fileLastModified } from '@mongez/fs';
const lastModified = fileLastModified('path/to/file'); // will return a Date object
要获得目录的最后修改时间,请使用directoryLastModified
import { directoryLastModified } from '@mongez/fs';
const lastModified = directoryLastModified('path/to/directory'); // will return a Date object
文件和目录大小
在字节中获取文件或目录的大小。
import { pathSize } from '@mongez/fs';
const size = pathSize('path/to/file');
要获取文件大小,请使用fileSize
import { fileSize } from '@mongez/fs';
const size = fileSize('path/to/file');
要获取目录尺寸,请使用directorySize
import { directorySize } from '@mongez/fs';
const size = directorySize('path/to/directory');
获取人类可读格式的文件和目录大小
以人类可读格式获取文件或目录的大小。
import { humanSize } from '@mongez/fs';
const size = humanSize('path/to/file'); // 1.2 KB
获取路径统计
获取文件或目录的stats
import { stats } from '@mongez/fs';
const stats = stats('path/to/file');
给定文件的返回统计数据是缓存的,因此下次您以相同路径调用此函数时,将返回缓存的统计信息,如果您要禁用缓存并获得当前统计信息将第二个参数传递给false。
import { stats } from '@mongez/fs';
const stats = stats('path/to/file', false);
获取文件扩展名
获取文件的扩展
import { extension } from '@mongez/fs';
const extension = extension('path/to/file.txt'); // txt
列出路径中的文件和目录
路径中的文件和目录
import { list } from '@mongez/fs';
const files = list('path/to/directory');
它将返回一个数组包含给定路径中的所有文件和目录。
在路径中列出文件
仅在路径中列出文件
import { listFiles } from '@mongez/fs';
const files = listFiles('path/to/directory');
它将返回一个数组包含给定路径中的所有文件。
路径中的列表目录
仅在路径中列出目录
import { listDirectories } from '@mongez/fs';
const directories = listDirectories('path/to/directory');
它将返回一个数组包含给定路径中的所有目录。
检查路径是否为空
检查文件是否为空
import { isEmptyFile } from '@mongez/fs';
const isEmpty = isEmptyFile('path/to/file');
如果文件不存在,它将返回true。
您可以使用isNotEmptyFile
检查文件是否不是空
import { isNotEmptyFile } from '@mongez/fs';
const isNotEmpty = isNotEmptyFile('path/to/file');
检查目录是否为空
import { isEmptyDirectory } from '@mongez/fs';
const isEmpty = isEmptyDirectory('path/to/directory');
如果目录不存在,它将返回true。
您可以使用isNotEmptyDirectory
检查目录是否不是空
import { isNotEmptyDirectory } from '@mongez/fs';
const isNotEmpty = isNotEmptyDirectory('path/to/directory');
结论
文件系统是任何应用程序的主要组成部分,重要的是要拥有一个好的文件系统库,这就是为什么我创建此软件包,也具有可读和同步功能的原因很容易使用,我希望您能找到如果您有任何建议或疑问,请随时在下面发表评论。