@discordapp/twemoji

中文文档
17.0.3发布于 2026/11/10MIT AND CC-BY-4.0TypeScriptESM + CJS近 30 天下载 57.3万

一个基于Unicode标准的方法,在所有平台上实施emoji.

中文使用文档
文档目录20 节
  1. 使用量
  2. 通过国家预防机制安装
  3. CDN 支持
  4. 下载
  5. API 密码
  6. twemoji.parse (.) V1 (英语)
  7. 作为参数的对象
  8. 公用事业
  9. twemoji.convert. from CodePoint () (中文(简体) )
  10. twemoji.convert.to CodePoint () (中文(简体) )
  11. 提示
  12. 内嵌样式
  13. UTF-8 字符集
  14. 排除字符( V1)
  15. 遗留的 API (V1)
  16. 捐款
  17. 分配要求
  18. 社区项目
  19. 提交者和贡献者
  20. 许可证

Twitter Emoji (特维莫吉语)

一个提供标准 Unicode 的简单库 爱莫吉 在所有平台上提供支持.

Twemoji v17.0 (英语) 遵守 Unicode 17.0 spec 并支持 Emoji 17.0 spec。 。 。 . 我们不支持定制的emoji.

Twemoji 库为所有推荐用于一般交换的 Unicode 定义的 emoji 提供支持.

使用量

通过国家预防机制安装

运行您已启动的项目的以下内容 :

npm install @twemoji/api

CDN 支持

默认 CDN 支持通过 日记。 。 。 .

在下面 <head> hTML 文档的标记 :

<script src="https://cdn.jsdelivr.net/npm/@twemoji/api@latest/dist/twemoji.min.js" crossorigin="anonymous"></script>

这保证了您将永远使用最新版本的图书馆.

如果相反,您希望明确加入最新版本,您可以添加以下标记:

<script src="https://cdn.jsdelivr.net/npm/@twemoji/[email protected]/dist/twemoji.min.js" integrity="sha384-Y5xukbGJwykbHHkTbLJykYLcBPFxrwipTbEh0puxhkz9CZ90raTPGe2Ks4vCxsYU" crossorigin="anonymous"></script>

下载

如果您想要下载特定版本,请查看 gh-pages 分公司,你将在那里找到我们最新版本和旧版本的已建资产.

API 密码

下面是所有暴露在 twemoji 名称空间.

twemoji.parse (.) V1 (英语)

这是主解析工具, 每解析类型有3个超载 .

虽然这个工具支持两种解析,但我们建议你使用 DOM 解析,下文解释。 每类解析都接受回调以生成图像源或带有解析信息选项对象.

第二种解析是字符串解析,在遗留文献中解释 这里。这是不推荐的,因为这种方法不会使字符串消毒或以其他方式阻止恶意代码被执行;这种消毒已经超出了范围.

DOM 解析

如果第一个论点是 twemoji.parse 是一个 HTMLElement,生成的图像标记将替换 emoji 即 内部 #text 只有节点 完全避免使用 innerHTML。 。 。 .

如果安全是主要关切,这种解析可被视为最安全的选择,但因DOM操作不可避免地受到轻微的性能处罚 费用。 。 。 .

var div = document.createElement('div');
div.textContent = 'I \u2764\uFE0F emoji!';
document.body.appendChild(div);

twemoji.parse(document.body);

var img = div.querySelector('img');

// note the div is preserved
img.parentNode === div; // true

img.src;        // https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/72x72/2764.png
img.alt;        // \u2764\uFE0F
img.className;  // emoji
img.draggable;  // false

所有其他超载情况 string dOM 解析方法完全相同.

作为参数的对象

以下是可选对象接受的属性列表,可以传递给 parse 函数.

  {
    callback: Function,   // default the common replacer
    attributes: Function, // default returns {}
    base: string,         // default jsDelivr
    ext: string,          // default ".png"
    className: string,    // default "emoji"
    size: string|number,  // default "72x72"
    folder: string        // in case it's specified
                          // it replaces .size info, if any
  }

回调

用于生成图像的函数 src(s) (中文(简体) ).

默认它是一个类似以下函数:

function imageSourceGenerator(icon, options) {
  return ''.concat(
    options.base, // by default jsDelivr
    options.size, // by default "72x72" string
    '/',
    icon,         // the found emoji as code point
    options.ext   // by default ".png"
  );
}

基础

默认url 与 twemoji.base,因此,如果修改了前者,它将反映为所有解析字符串或节点的默认值.

电话分机

默认图像扩展名与 twemoji.ext 这是 ".png"。 。 。 .

如果您修改了前者, 它会反映为所有解析字符串或节点的默认值 .

类Name

默认 class 每个生成的图像是 emoji。可以通过该属性指定不同的属性.

大小

默认资产大小与 twemoji.size 这是 "72x72"。 。 。 .

如果您修改了前者, 它会反映为所有解析字符串或节点的默认值 .

文件夹

如果你不想指定图像的大小。 可以选择一个文件夹,例如SVG emoji.

twemoji.parse(genericNode, {
  folder: 'svg',
  ext: '.svg'
});

这将生成 urls 这样 https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/2764.svg 而不是使用基于特定大小的图像.

公用事业

基本公用设施 / 帮助将代码转换为 JavaScript 代词,反之亦然.

twemoji.convert. from CodePoint () (中文(简体) )

对于给定的HEX编码点,返回UTF-16代对.

twemoji.convert.fromCodePoint('1f1e8');
 // "\ud83c\udde8"

twemoji.convert.to CodePoint () (中文(简体) )

对于给定的UTF-16代位对子,返回等同的HEX编码点.

 twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3');
 // "1f1e8-1f1f3"

 twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3', '~');
 // "1f1e8~1f1f3"

提示

内嵌样式

如果您想根据周围的文本来大小化emoji,可以在您的样式表上添加以下 CSS :

img.emoji {
   height: 1em;
   width: 1em;
   margin: 0 .05em 0 .1em;
   vertical-align: -0.1em;
}

这会确保Emoji从.. font-size 显示的文本。 它还在每个emoji前后增加一点空间,并拉上一点来更好地进行光学对接.

UTF-8 字符集

要正确支持emoji,文档字符集必须设置为UTF-8. 这可以通过在文档中包含以下元标记来实现 <head>

<meta charset="utf-8">

排除字符( V1)

要排除某些字符被 twemoji.js所取代,请使用回调来调用 twemoji.parse(),为特定的unicode图标返回假. 例如:

twemoji.parse(document.body, {
    callback: function(icon, options, variant) {
        switch ( icon ) {
            case 'a9':      // © copyright
            case 'ae':      // ® registered trademark
            case '2122':    // ™ trademark
                return false;
        }
        return ''.concat(options.base, options.size, '/', icon, options.ext);
    }
});

遗留的 API (V1)

如果你还在使用我们的V1 API, 你可以读我们的遗产文件 这里。 。 。 .

捐款

提供的文件可见 这里。 。 。 .

分配要求

作为一个开放源码项目,在我们看来,从法律、实际和激励的角度来看,归属是至关重要的。 图片由CC-BY 4.0授权使用 最佳归因做法。 。 。 .

然而,我们认为指南有点繁琐,作为一个项目,将接受在项目README或网站“About”部分或页脚中提及。 在移动应用程序中,一个常见位置将位于Sets/About部分(例如,见移动Twitter应用程序设置->About->Legal部分)。 我们认为在HTML/JS来源中提及也足够.

社区项目

提交者和贡献者

  • Justine De Caires(前拖车)
  • 杰森·索福尼亚(前特维尔特人)
  • 布莱恩·哈格蒂(前特瓦特人)
  • 内森·唐斯(前推特)
  • 汤姆·武特克(前特派员)
  • 安德里亚·吉阿迈尔奇(前特派员)
  • 约恩·阿斯穆森(英语:Joen Asmussen (WordPress))
  • 马库斯·卡兹米尔扎克(记者)
  • 凯文·VQ水坝(前Discord)
  • 吉卡·塔姆(Discord)
  • 本·奥尔森(Discord)

这个项目的目标是简单地为每个人提供情感。 我们当然欢迎改进和修正,但由于该项目的简单性质,我们可能不会合并社区提出的每一项拉动请求.

缴款规则载于 CONTRIBUTING.md 文档.

谢谢大家 捐助者。 。 。 .

许可证

见 自由主义 财务报告和审定财务报表 自由-巨头 完整许可证文本的文件.

麻省理工学院许可的代码: http://opensource.org/licenses/MIT 互联网档案馆的存檔,存档日期2013-12-02

根据 CC-BY 4.0 许可的图形 : https://creativecommons.org/licenses/by/ 4.0/ (英语)

版本与发布记录

@discordapp/twemoji 共发布 14 个版本,首次发布于 2019/11/06;过去 12 个月发布了 1 个版本。

版本发布日期距今
17.0.3latest2026/11/102 天前
16.0.12025/07/011.4 年前
15.1.02024/08/152 年前
15.0.32024/03/292 年前
15.0.22023/12/052 年前
14.1.22023/03/293 年前

关于 @discordapp/twemoji 的常见问题

@discordapp/twemoji 是什么?

一个基于Unicode标准的方法,在所有平台上实施emoji.

如何安装 @discordapp/twemoji?

在项目目录运行 npm install @discordapp/twemoji,或使用 pnpm add / yarn add / bun add。

@discordapp/twemoji 支持 TypeScript 吗?

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

@discordapp/twemoji 支持 ESM 还是 CommonJS?

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

@discordapp/twemoji 可以商用吗?

@discordapp/twemoji 使用 MIT AND CC-BY-4.0 许可。声明的许可为 MIT AND CC-BY-4.0,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@discordapp/twemoji 的下载量有多少?

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

@discordapp/twemoji 还在维护吗?

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