nodejs强大的文件系统管理器
#node #fs #ts

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');

另外,您可以使用copyFilecopyDirectory分别复制文件或目录。

检查文件或目录是否存在

检查路径是否存在

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');

要删除文件,您可以使用removeFileunlink

import { removeFile, unlink } from '@mongez/fs';

removeFile('path/to/file');
unlink('path/to/file');

要删除目录,您可以使用removeDirectoryrmdir

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 renameDirectoryrenamePath

的别名

移动文件或目录

将文件或目录移至另一个位置

import { movePath } from '@mongez/fs';

movePath('path/to/file', 'path/to/destination');

moveFile k​​oude13是movePath的别名

创建新目录

创建目录,如果目录不存在任何事情。

import { makeDirectory } from '@mongez/fs';

makeDirectory('path/to/directory');

mkdircreateDirectorymakeDirectory

的别名

如果目录已经存在,它将丢弃错误。

您还可以递归创建一个目录

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');

结论

文件系统是任何应用程序的主要组成部分,重要的是要拥有一个好的文件系统库,这就是为什么我创建此软件包,也具有可读和同步功能的原因很容易使用,我希望您能找到如果您有任何建议或疑问,请随时在下面发表评论。