# @dlghq/dialog-components 中文文档

规范地址：https://npmcn.com/package/%40dlghq/dialog-components/

版本：0\.311\.0
npm 元数据更新时间：2023-08-01T12:14:34.289Z
中文译文更新时间：2026-11-12T12:41:46.943Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dlghq/dialog-components
原文对照：https://npmcn.com/package/%40dlghq/dialog-components/?lang=original
项目主页：https://dialogs.github.io/dialog-web-components
源码仓库：https://github.com/dialogs/dialog-web-components

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.8 MB，901 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：20 个
- peer 依赖：@dlghq/country-codes ^0\.3\.0，@dlghq/dialog-types ^1\.38\.3，@dlghq/emoji ^2\.2\.0，@dlghq/markdown ^1\.7\.1，@dlghq/react-l10n ^0\.9\.3，lodash ^4\.17\.11，react ^16\.8\.6，react-dom ^16\.8\.6
- 首次发布：2016-06-23T13:37:25.141Z
- 最新版本发布：2019-09-10T15:41:46.571Z
- 近 30 天下载量：6785（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：1005（近 12 个月 0 个）

## 中文简介

对话框 Web 组件

## 安装

```sh
npm install @dlghq/dialog-components
```

也可以使用：`pnpm add @dlghq/dialog-components`、`yarn add @dlghq/dialog-components`、`bun add @dlghq/dialog-components`

## README

# 对话框网络组件

[![CircleCI](https://img.shields.io/circleci/project/github/dialogs/dialog-web-components/master.svg)](https://circleci.com/gh/dialogs/dialog-web-components/tree/master)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dialogs_dialog-web-components&metric=alert_status)](https://sonarcloud.io/dashboard?id=dialogs_dialog-web-components) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=dialogs_dialog-web-components&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=dialogs_dialog-web-components) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=dialogs_dialog-web-components&metric=security_rating)](https://sonarcloud.io/dashboard?id=dialogs_dialog-web-components)

[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=dialogs_dialog-web-components&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=dialogs_dialog-web-components) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=dialogs_dialog-web-components&metric=bugs)](https://sonarcloud.io/dashboard?id=dialogs_dialog-web-components) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=dialogs_dialog-web-components&metric=code_smells)](https://sonarcloud.io/dashboard?id=dialogs_dialog-web-components)

[![Total alerts](https://img.shields.io/lgtm/alerts/g/dialogs/dialog-web-components.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/dialogs/dialog-web-components/alerts/) [![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/dialogs/dialog-web-components.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/dialogs/dialog-web-components/context:javascript)

[![dependencies](https://img.shields.io/david/dialogs/dialog-web-components.svg)](https://npmcn.com/package/%40dlghq/dialog-components/package.json) [![devDependencies](https://img.shields.io/david/dev/dialogs/dialog-web-components.svg)](https://npmcn.com/package/%40dlghq/dialog-components/package.json)

[![GitHub tag](https://img.shields.io/github/tag/dialogs/dialog-web-components.svg)](https://github.com/dialogs/dialog-web-components/tags) [![npm version](https://img.shields.io/npm/v/@dlghq/dialog-components.svg)](https://www.npmjs.com/package/@dlghq/dialog-components)

[![license](https://img.shields.io/github/license/dialogs/dialog-web-components.svg)](https://npmcn.com/package/%40dlghq/dialog-components/LICENSE)

[文档和演示](https://dialogs.github.io/dialog-web-components/)

## 安装

```
yarn add @dlghq/dialog-components
```

或者说

```
npm install --save @dlghq/dialog-components
```

## 用法实例

```js
import React from 'react';
import { render } from 'react-dom';
import { Avatar } from '@dlghq/dialog-components';

const container = document.getElementById('container');

render(
  <Avatar
    title="Hipster Partycat"
    image="https://octodex.github.com/images/hipster-partycat.jpg"
  />,
  container
);
```

[更多组件.](https://dialogs.github.io/dialog-web-components/)

## 网络包配置

我们出版前不汇编JS & CSS代码. 您必须在您的构建管道中更新或添加网络包配置 .

```
yarn add babel-loader postcss-loader css-loader style-loader svg-sprite-loader
yarn add @dlghq/babel-preset-dialog @dlghq/postcss-dialog
```

```javascript
// webpack.config.js

const fs = require('fs');
const path = require('path');

function resolve(...paths) {
  return fs.realpathSync(path.join(__dirname, ...paths));
}

const whitelist = [
  resolve('src'), // your application code
  resolve('node_modules/@dlghq/dialog-components/src'),
  resolve('node_modules/@dlghq/markdown'),
  resolve('node_modules/@dlghq/react-l10n'),
  resolve('node_modules/@dlghq/dialog-types'),
  resolve('node_modules/@dlghq/dialog-utils'),
  resolve('node_modules/@dlghq/country-codes')
];

module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        include: whitelist,
        loader: 'babel-loader',
        options: {
          babelrc: false,
          cacheDirectory: true,
          presets: [
            [
              '@dlghq/dialog',
              {
                modules: false,
                runtime: false
              }
            ]
          ]
        }
      },
      {
        test: /\.css$/,
        use: [
          'style-loader',
          {
            loader: 'css-loader',
            options: {
              modules: false,
              importLoaders: 1
            }
          },
          {
            loader: 'postcss-loader',
            options: {
              plugins() {
                return require('@dlghq/postcss-dialog')();
              }
            }
          }
        ],
        include: [
          resolve('node_modules/@dlghq/dialog-components/src/styles/global.css')
        ]
      },
      {
        test: /\.css$/,
        include: whitelist,
        exclude: [
          resolve('node_modules/@dlghq/dialog-components/src/styles/global.css')
        ],
        use: [
          'style-loader',
          {
            loader: 'css-loader',
            options: {
              modules: true,
              importLoaders: 1,
              localIdentName: '[name]__[local]'
            }
          },
          {
            loader: 'postcss-loader',
            options: {
              plugins() {
                return require('@dlghq/postcss-dialog')();
              }
            }
          }
        ]
      },
      {
        test: /\.(jpg|png|svg|gif)$/,
        exclude: resolve('node_modules/@dlghq/dialog-components/src/components/Icon/svg'),
        loader: 'file-loader'
      },
      {
        test: /\.svg$/,
        include: resolve('node_modules/@dlghq/dialog-components/src/components/Icon/svg'),
        loader: 'svg-sprite-loader'
      }
    ]
  }
};
```

## 翻译

对于一些复杂的组件,比如 `AuthForm` 您应该将您的组件树包起来 以 `@dlghq/react-l10n` `Provider` 组件. 在出版之前,我们生成 `messages.json` 捆绑,你应该传递给 `Provider`。 。 。 .

```js
import React from 'react';
import { render } from 'react-dom';
import { Provider } from '@dlghq/react-l10n';
import dialogMessages from '@dlghq/dialog-components/src/messages.json';
import appMessages from './messages';

const container = document.getElementById('container');

const messages = { ...dialogMessages, ...appMessages };

render(
  <Provider messages={messages} locale={navigator.language}>
    <App />
  </Provider>,
  container
);
```

## 发展

国家预防机制:

-   `npm start` 启动 dev 服务器
-   `npm run create` 创建新组件
-   `npm test` 运行测试
-   `npm run lint` 运行线条
-   `npm run format` 运行格式化器
-   `npm run build` 构建图书馆
-   `npm run docs` 构建文件
-   `npm run release` 建立并发布到 npm 并发布到 gh 页面

## 许可证

[阿帕奇 - 2.0](https://npmcn.com/package/%40dlghq/dialog-components/LICENSE)

## 常见问题

### @dlghq/dialog-components 是什么？

对话框 Web 组件

### 如何安装 @dlghq/dialog-components？

在项目目录运行 npm install @dlghq/dialog-components，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@dlghq/country-codes（^0\.3\.0）、@dlghq/dialog-types（^1\.38\.3）、@dlghq/emoji（^2\.2\.0）、@dlghq/markdown（^1\.7\.1）、@dlghq/react-l10n（^0\.9\.3）、lodash（^4\.17\.11）、react（^16\.8\.6）、react-dom（^16\.8\.6）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @dlghq/dialog-components 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dlghq\_\_dialog-components 是否存在。

### @dlghq/dialog-components 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dlghq/dialog-components 可以商用吗？

@dlghq/dialog-components 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dlghq/dialog-components 的下载量有多少？

根据 npm 官方下载统计，@dlghq/dialog-components 在 2026/10/13 – 2026/11/11 这 30 天内被下载 6,785 次，日均约 226 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dlghq/dialog-components 还在维护吗？

最新版本 0\.311\.0 发布于 2019/09/10（7 年前）；至今共发布 1005 个版本，其中过去 12 个月发布了 0 个；首次发布于 2016/06/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

