@dlghq/dialog-components

中文文档
0.311.0发布于 2019/09/10Apache-2.0ESM + CJS近 30 天下载 6785

对话框 Web 组件

中文使用文档
文档目录6 节
  1. 安装
  2. 用法实例
  3. 网络包配置
  4. 翻译
  5. 发展
  6. 许可证

对话框网络组件

CircleCI

Quality Gate Status Maintainability Rating Security Rating

Vulnerabilities Bugs Code Smells

Total alerts Language grade: JavaScript

dependencies devDependencies

GitHub tag npm version

license

文档和演示

安装

yarn add @dlghq/dialog-components

或者说

npm install --save @dlghq/dialog-components

用法实例

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

更多组件.

网络包配置

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

yarn add babel-loader postcss-loader css-loader style-loader svg-sprite-loader
yarn add @dlghq/babel-preset-dialog @dlghq/postcss-dialog
// 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。 。 。 .

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

版本与发布记录

@dlghq/dialog-components 共发布 1,005 个版本,首次发布于 2016/06/23;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.311.0latest2019/09/107 年前
0.310.1-fix-max-channel-size-visibility.4452.02019/09/107 年前
0.310.1-fix-max-channel-size-visibility.4449.02019/09/107 年前
0.310.1-fix-max-channel-size-visibility.4446.02019/09/107 年前
0.310.02019/09/057 年前
0.309.1-feature-max-channel-size.4435.02019/09/057 年前

其他发布通道:peer-deps → 0.165.16-peer-deps.2083.0,CI → 0.165.11-CI.1928.0,test-ci → 0.165.11-test-ci.1943.0,fix-circleci-config → 0.165.11-fix-circleci-config.1959.0,radio-new-context-api → 0.165.15-radio-new-context-api.2054.0,test-release → 0.165.13-test-release.2011.0。

关于 @dlghq/dialog-components 的常见问题

@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 和提交记录判断。