> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-docs-zh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# DirectoryLoader 集成

> 使用 LangChain JavaScript 集成 DirectoryLoader 文档加载器。

> [!TIP]
>
> **兼容性**：仅在 Node.js 上可用。

此笔记本提供了快速入门 `DirectoryLoader` [文档加载器](https://langchain-docs-zh.mintlify.site/langchain/oss/python/integrations/document_loaders.md) 的概览。如需了解所有 `DirectoryLoader` 功能和配置的详细文档，请访问 [API 参考](https://reference.langchain.com/javascript/langchain-core/document_loaders/base/BaseDocumentLoader)。

此示例介绍了如何从包含多个文件的文件夹加载数据。第二个参数是一个文件扩展名到加载器工厂的映射。每个文件将被传递给匹配的加载器，并将生成的文档连接在一起。

示例文件夹：

```text theme={null}
src/document_loaders/example_data/example/
├── example.json
├── example.jsonl
├── example.txt
└── example.csv
```

## 概述

### 集成细节

| 类 | 包 | 兼容性 | 本地 | PY 支持 |
| :- | :- | :-: | :-: | :-: |
| [`DirectoryLoader`](https://reference.langchain.com/javascript/langchain-core/document_loaders/base/BaseDocumentLoader) | [langchain](https://www.npmjs.com/package/langchain) | 仅 Node.js | ✅ | ✅ |

## 设置

要访问 `DirectoryLoader` 文档加载器，您需要安装 `langchain` 包。

### 安装

LangChain DirectoryLoader 集成位于 `langchain` 包中：

```bash npm theme={null}
npm install langchain @langchain/core
```

```bash yarn theme={null}
yarn add langchain @langchain/core
```

```bash pnpm theme={null}
pnpm add langchain @langchain/core
```

## 实例化

现在我们可以实例化我们的模型对象并加载文档：

> [!WARNING]
>
> `@langchain/community` 包已不再维护。从 `@langchain/community` 导入的示例可能过时或无法使用。请谨慎使用。

```typescript theme={null}
import { DirectoryLoader } from "@langchain/classic/document_loaders/fs/directory";
import {
  JSONLoader,
  JSONLinesLoader,
} from "@langchain/classic/document_loaders/fs/json";
import { TextLoader } from "@langchain/classic/document_loaders/fs/text";
import { CSVLoader } from "@langchain/community/document_loaders/fs/csv";

const loader = new DirectoryLoader(
  "../../../../../../examples/src/document_loaders/example_data",
  {
    ".json": (path) => new JSONLoader(path, "/texts"),
    ".jsonl": (path) => new JSONLinesLoader(path, "/html"),
    ".txt": (path) => new TextLoader(path),
    ".csv": (path) => new CSVLoader(path, "text"),
  }
);
```

## 加载

```typescript theme={null}
const docs = await loader.load()
// disable console.warn calls
console.warn = () => {}
docs[0]
```

```javascript theme={null}
Document {
  pageContent: 'Foo\nBar\nBaz\n\n',
  metadata: {
    source: '/Users/bracesproul/code/lang-chain-ai/langchainjs/examples/src/document_loaders/example_data/example.txt'
  },
  id: undefined
}
```

```typescript theme={null}
console.log(docs[0].metadata)
```

```javascript theme={null}
{
  source: '/Users/bracesproul/code/lang-chain-ai/langchainjs/examples/src/document_loaders/example_data/example.txt'
}
```

***

## API 参考

如需了解所有 `DirectoryLoader` 功能和配置的详细文档，请访问 [API 参考](https://reference.langchain.com/javascript/langchain-core/document_loaders/base/BaseDocumentLoader)。

***

> 官方原文：[src/oss/javascript/integrations/document\_loaders/file\_loaders/directory.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/javascript/integrations/document_loaders/file_loaders/directory.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.