@coorpacademy/components

中文文档
11.43.2发布于 2026/11/07TypeScriptESM + CJS近 30 天下载 1.7万

这个库为网络应用程序提供可修饰的组件,或者:

中文使用文档
文档目录13 节
  1. 目标
  2. 发展
  3. 在故事书上看到组件
  4. 分析您的组件
  5. 添加组件
  6. 添加一个地块
  7. 使用 Lottie 动画
  8. 外部项目的地方用途
  9. 用于移动应用程序
  10. 用色谱进行视觉测试
  11. 设置
  12. 解决问题
  13. 生成 Bundle 分析器报告

@ Coorpacademy/ 组件

这个库为网络应用程序提供可修饰的组件,或者:

  • 作为通用JS组件
  • 作为简化的库

Components diagram

目标

  • 编辑一个组件一次, 分享到所有平台
  • 提供参考每个组成部分的文件及其
    • 可用状态( 残疾, 选定)
    • 可剥取属性
  • 提供最小的 lib

发展

在故事书上看到组件

yarn
npm run start
# OR
npm run start:ie # for Internet Explorer

然后打开 http://localhost:3004。 。 。 .

分析您的组件

这个 props 您的应用程序必须填写合同才能使用组件. 如果 props 没有适当的设定, 改变它们不是你的角色 以某种方式实现. 这个 propTypes 代表本合同.

铭记这一工作流程:

props -> propTypes -> fixtures -> component

那你的应用程序就只能读了 propTypes 想知道哪个 props 以发表意见.

添加组件

  • 根据组件选择您的原子文件夹 : template, (中文(简体) ), organism, (中文(简体) ), molecule, (中文(简体) ), atom
  • 添加包含您组件名的文件夹:例如,用于 button 你应该有这棵树:
atom
  └── button
        ├── index.js
        ├── style.css
        └── test
            └── fixtures
               └── default.js
               └── disabled.js
               └── hovered.js
  • index.js 包含反应代码 + jsx,并导出您的组件
  • style.css 包含您组件的 css 模块样式
  • test/fixtures/*.js 是代表您组件所有可能状态的文件,因此导出道具

注意,每当您添加新组件或新固定件时,您必须生成故事本索引 :

npm run generate

当运行时也会自动启动 npm start

添加一个地块

  • 您需要在 en/ global.json 文件中添加您的语言
  • 一定要这样 translate: Provider.childContextTypes.translate 对象

示例:

  ....

  const YourComponent = (props, context) => {
    const {translate} = context;

    return <p>{translate('your new locale')}</p>
  }

  YourComponent.contextTypes = {
    translate: Provider.childContextTypes.translate
};

  ...

使用 Lottie 动画

要使用LottieWrapper Atom动画,需要使用LottieWrapper Atom.

在洛蒂·阿通的道具中有两个 重要事项 道具:动画Src & ie11 ImageBackup, 需要额外的步骤, ie11 ImageBackup是需要的,因为它的名字意味着 ie11 不 支持Lottie(更具体地说是Web组件由于Shadow DOM).

首先,您必须向 AWS S3 上传任何新的动画,在静态桶(取决于想要的嵌入)之一,例如: https://static-staging.coorpacademy.com/animations/review/。 。 。 .

此动画必须配对后置图像(svg),用于ie11情景.

然后,使用urls作为动画Src & ie11ImageBackup的道具,例如:

const props = {
    'aria-label': 'aria lottie',
    'data-name': 'default-lottie',
    className: undefined,
    animationSrc: 'https://static-staging.coorpacademy.com/animations/review/rank.json',
    loop: true,
    height: 200,
    width: 200,
    ie11ImageBackup:
      'https://static-staging.coorpacademy.com/animations/review/rank_icon_congrats.svg',
    // autoplay: true // autoplay is true by default
}

如果您需要控制动画( 播放/ 暂停/ 停止) , 那么您必须设置自动播放到虚假( S) 增加您想要的状态, 在现有的状态中: play, pause, stop, loading

const props = {
    'aria-label': 'aria lottie',
    'data-name': 'default-lottie',
    className: undefined,
    animationSrc: 'https://static-staging.coorpacademy.com/animations/review/rank.json',
    loop: true,
    height: 200,
    width: 200,
    ie11ImageBackup:
      'https://static-staging.coorpacademy.com/animations/review/rank_icon_congrats.svg',
    autoplay: false,
    animationControl: 'loading' // play can be passed directly without using loading first
}

补充资料

道具包括类名QQ大小控制来处理额外的造型.

外部项目的地方用途

链接您的依赖性 :

[@coorpacademy-components] > npm link
[your-app] > npm link @coorpacademy/components

构建修改 :

[@coorpacademy-components] > npm run build:es

用于移动应用程序

运行 npm run build:watch 更多信息请参看 移动文档

您可能需要根据您使用的本地组件安装这些可选的 lib :

  • colorjs.io
  • react-native-modal
  • react-native-render-html
  • react-native-linear-gradient
  • @coorpacademy/react-native-slider
  • @react-native-community/blur

用色谱进行视觉测试

我们用 色谱 用于视觉回归测试。 这有助于捕捉UI变化,确保各组成部分的一致性.

设置

  1. 复制实例环境文件 :

    cp .env.example .env
    
  2. 将您的 Chromatic 项目符号添加到 .env 文件 :

    CHROMATIC_PROJECT_TOKEN=your_token_here
    
  3. 运行色谱 :

    npm run chromatic
    

这将构建你的故事本,并上传到Chromatic进行视觉测试.

解决问题

尝试启动故事本时出错 :

尝试删除您的 node_modules,转到项目的根并启动: yarn

生成 Bundle 分析器报告

为了检查捆绑的内容 并优化它,如果需要,我们设置 webpack-bundle-analyzer,生成一个捆绑的分析报告。 以可交互放大的树图可视化 Webpack 输出文件的大小 . 要产生它,只是运行 npm run build:stats。 。 。 .

Webpack Bundle Analyzer Report

版本与发布记录

@coorpacademy/components 共发布 2,466 个版本,首次发布于 2016/01/28;过去 12 个月发布了 51 个版本。

版本发布日期距今
11.43.2latest2026/11/073 天前
11.43.12026/11/064 天前
11.43.02026/11/055 天前
11.42.122026/11/056 天前
11.42.112026/11/037 天前
11.42.102026/11/037 天前

其他发布通道:next → 10.30.7,canary → 11.40.22-slider.1。

关于 @coorpacademy/components 的常见问题

@coorpacademy/components 是什么?

这个库为网络应用程序提供可修饰的组件,或者:

如何安装 @coorpacademy/components?

在项目目录运行 npm install @coorpacademy/components,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^17.0.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@coorpacademy/components 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@coorpacademy/components 支持 ESM 还是 CommonJS?

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

@coorpacademy/components 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@coorpacademy/components 可以商用吗?

@coorpacademy/components 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@coorpacademy/components 的下载量有多少?

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

@coorpacademy/components 还在维护吗?

最新版本 11.43.2 发布于 2026/11/07(3 天前);至今共发布 2466 个版本,其中过去 12 个月发布了 51 个;首次发布于 2016/01/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。