@financial-times/x-teaser

中文文档
21.1.1发布于 2026/09/16ISCTypeScriptESM + CJS近 30 天下载 4532

本模块提供模板,供与o-teaser一起使用. 茶会用来呈现内容.

中文使用文档
文档目录10 节
  1. 安装
  2. 概念
  3. 特征
  4. 指标
  5. 规则
  6. 使用量
  7. 儿童成分
  8. 类型脚本
  9. 属性
  10. 预设

x 调试器

本模块提供模板供使用 o-取用器. 茶叶机用于呈现内容.

安装

npm install --save @financial-times/x-teaser @financial-times/o-teaser

这个 x-engine 模块用于将您选择的运行时间注入组件。 请读一下 x-engine 文档,如果您正在消费 x- 在应用程序中首次使用组件.

概念

特征

由于取笑器非常复杂,有上千个可能的通相被分解成逻辑组特征. 它们是:

  • Meta, 标题上的内容分类
  • 标题,内容标题
  • Standfirst,一个字幕或内容描述
  • 内容公布的状况、日期或时间
  • 相关链接, 相关内容链接的补充列表
  • 图像, 内容的海报图像
  • 标题shot, 内容作者在其列中发布内容时的图像
  • 视频,用于视频内容,可以播放视频
  • 自定义槽, 插入自定义组件或标记的自由槽
  • 促销内容,一个插入不同类型促销内容的插槽,例如但不仅限于:剪辑,交互式图形等.

screenshot of a teaser with features highlighted

指标

茶叶显示器 内容 但是,我们的内容项目也带有进一步描述它们的暗示和特征。 内容项目只能提供给保费订户,被排除在联合许可证之外,或选择作为编辑的选择。 这种额外数据可能并不总是能产生可见的输出,也可能不是所有用户都能看到. 然而,除了内容本身之外,它们还可以用来作出决定.

规则

因为有这么多 笑话属性 某些选项可能冲突。 在这种情况下,一种选择必须优先于另一种选择。 这些坐位通过使用 规则. 规则集是按先后顺序执行一系列条件的函数. 当一个条件被评估为真实时,必须返回.

例如,为了决定要显示的媒体类型(视频、头像或图像),我们定义了以下规则:

const media = (props) => {
  if (props.showVideo && props.video && props.video.url) {
    return 'video'
  }

  if (props.showHeadshot && props.headshot && props.headshot.url && props.indicators.isColumn) {
    return 'headshot'
  }

  if (props.showImage && props.image && props.image.url) {
    return 'image'
  }
}

使用量

本单元提供的组件都是需要绘制地图的功能 笑话属性。它们可用于香草JavaScript或JSX(如果你不熟悉检查) WTF为JSX (第一编) 例如,如果您正在使用 React 写入您的应用程序,您可以使用这样的组件 :

import React from 'react'
import { Teaser } from '@financial-times/x-teaser'

// A == B == C
const a = Teaser(props)
const b = <Teaser {...props} />
const c = React.createElement(Teaser, props)

全体 x- 组件被设计为与各种运行时间相兼容,而不仅仅是回放. 看看这个 x-engine 建议的图书馆和框架清单的文档.

儿童成分

用于建造完整的取笑器的所有分部件都可以单独进口和使用。 每个组件都可以得到一整套 笑话属性。 。 。 .

import { Title, Standfirst } from '@financial-times/x-teaser'

const TeaserIsh = (title, standfirst) => (
  <div className="teaser-ish">
    <Title title={title} />
    <Standfirst standfirst={standfirst} />
  </div>
)

类型脚本

包含一个 TypeScript 定义文件,涵盖此组件预期的所有属性 。 你可以这样使用:

import { TeaserProps } from './Props'

const props: TeaserProps = {}

属性

载于 特性 记录取笑者属性,或 道具,也已被拆分为逻辑组。 没有道具是强制性的,也没有设定默认,但是 预设 用于常用组合。 在道具冲突的情况下 规则 应决定哪一个应优先。 有道具可用的TypeScript定义.

特性道具

特性类型页:1
showMeta布尔
showTitle布尔
showTitlePrefix布尔
showStandfirst布尔
showPremiumLabel布尔
showExclusiveLabel布尔
showStatus布尔
showImage布尔
showByline布尔领先于头部射击
showBylineHeadshot布尔
showHeadshot布尔优于图像
showVideo布尔优于图像或头照
showGuidance布尔显示视频字幕指导
showRelatedLinks布尔
showCustomSlot布尔
showPromotionalContent布尔

通用道具

财产类型页:1
id字符串内容 UUID
url字符串目录 URL
relativeUrl字符串URL 路径, 将取消 url
type字符串内容类型(文章、录像等)
indicators指标
dataTrackable字符串调味器的跟踪数据

元道具

财产类型页:1
metaPrefixText字符串折旧时 metaLinks 属性,此文本不显示在标签中。 它正在逐步取消,有利于 titlePrefix,将更加省用
metaSuffixText字符串
metaLink元链接折旧 - 使用时 metaLinks 属性代替
metaAltLink元链接折旧 - 使用时 metaLinks 属性代替
metaLinks组合 [字符串,字符串]矩阵 [linkText, relativeUrl]
promotedPrefixText字符串将优先于链接
promotedSuffixText字符串

标题

财产类型页:1
title字符串
titlePrefix字符串
altTitle。 。 。 .字符串用于测试内容变化

站起第一支持

财产类型页:1
standfirst字符串
altStandfirst字符串用于测试内容变化

状态支持

财产类型页:1
publishedDate字符串、 数字、 日期上次公布日期
firstPublishedDate字符串、 数字、 日期
useRelativeTime布尔发布后显示时间
status字符串现场博客状态

图像道具

财产类型页:1
image媒体
imageSize字符串XS、小、中、大、XL或XXL
imageLazyLoad布尔, 字符串输出图像为 data-src 属性。 如果这是字符串, 它将作为类名附在图像上 .
imageHighestQuality布尔调用“ 质量=最高” 选项的图像服务, 只使用 XXL 图像
imageOptions对象使用指定的道具调用图像服务, 优先于其他图像选项, 如 imageSize 财务报告和审定财务报表 imageHighestQuality

副线道具

财产类型页:1
byline[字符串、字符串(可选)、字符串(可选)]的组合[text, relativeUrl, headshotUrl][]

头镜头道具

财产类型页:1
headshot字符串只有当 showHeadshot 和专栏指标为真
headshotTint字符串见 图像服务 API 使用费

视频道具

财产类型页:1
video媒体要求数 视频 创建视频播放器
systemCode字符串视界要求通过请求.
应该是执行系统的 Biz-Ops 代码
财产类型页:1
relatedLinks矩阵 链接

背景说明

财产类型页:1
headlineTesting布尔启用标题测试的替代内容
parentLabel字符串当标签匹配时显示替代元链接
parentId字符串当ID匹配时显示替代元链接

备选道具

财产类型页:1
layout字符串"小" "大" "英雄" 或"顶层故事"
theme字符串软件包主题, 设置此选项将覆盖其它任何指标
parentTheme字符串从任何父软件包继承的主题
modifiers字符串 []附加附加的额外修饰类名称
财产类型页:1
prefLabel字符串
url字符串目录 URL
relativeUrl字符串URL 路径, 将优先于 url
财产类型页:1
id字符串内容 UUID
url字符串目录 URL
relativeUrl字符串URL 路径, 将优先于 url
type字符串内容类型(文章、录像等)
title字符串

媒体道具

财产类型页:1
url字符串内容UUID,或对于图像, data: 或者说 blob: 網址
width数目
height数目

指标道具

财产类型页:1
accessLevel字符串"premium","订阅","注册",或"免费"
isOpinion布尔
isColumn布尔
isPodcast布尔
isEditorsChoice布尔
isExclusive布尔控制独家徽章是否显示
isScoop布尔

特殊样式道具

财产类型页:1
allowLiveTeaserStyling布尔应用 o-teaser--live 呼叫集装箱 时间轴: 消费者也需要在他们的应用中包括O-teaser造型.

预设

由于最常用的配置有这么多的选项预设,这些是: -

  • Small
  • SmallHeavy
  • Large
  • Hero
  • HeroNarrow
  • HeroVideo
  • HeroOverlay
  • TopStory
  • TopStoryLandscape

要使用预设导入 presets 属性和取笑器组件,并将您选择的预设与其他属性相混合.

import { Teaser, presets } from '@financial-times/x-teaser'

const html = Teaser({ ...props, ...presets.Hero, showStatus: false })

版本与发布记录

@financial-times/x-teaser 共发布 205 个版本,首次发布于 2018/04/12;过去 12 个月发布了 13 个版本。

版本发布日期距今
21.1.1latest2026/09/161 个月前
21.1.02026/04/246 个月前
21.0.02026/03/317 个月前
21.0.0-beta.12026/03/317 个月前
20.0.12026/03/138 个月前
20.0.02026/03/048 个月前

其他发布通道:next → 1.0.0-1,pre-release → 0.2.1-alpha.2,pre-origami → 1.0.0-beta.24。

关于 @financial-times/x-teaser 的常见问题

@financial-times/x-teaser 是什么?

本模块提供模板,供与o-teaser一起使用. 茶会用来呈现内容.

如何安装 @financial-times/x-teaser?

在项目目录运行 npm install @financial-times/x-teaser,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@financial-times/o-labels(^8.0.0)、@financial-times/o-teaser(^10.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@financial-times/x-teaser 支持 TypeScript 吗?

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

@financial-times/x-teaser 支持 ESM 还是 CommonJS?

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

@financial-times/x-teaser 需要什么版本的 Node.js?

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

@financial-times/x-teaser 可以商用吗?

@financial-times/x-teaser 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@financial-times/x-teaser 的下载量有多少?

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

@financial-times/x-teaser 还在维护吗?

最新版本 21.1.1 发布于 2026/09/16(1 个月前);至今共发布 205 个版本,其中过去 12 个月发布了 13 个;首次发布于 2018/04/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。