@ecl/file

中文文档
5.4.1发布于 2026/11/10EUPL-1.2ESM + CJS近 30 天下载 3617

ECL File

原始使用文档
文档目录3 节
  1. Parameters
  2. Deprecated
  3. Example:

ECL File component

npm package: @ecl/file

npm install --save @ecl/file

Parameters

  • "id" (string) (default: random) Unique id for the file component
  • "icon" (object) (default: {}): Object of type Icon; indicates the file type (should also have the file type as title)
  • "title" (string|object) (default: '') Plain text title, or link object following ECL Link structure
  • "description" (string) (default: '') Description text
  • "language" (string) (default: '') Language label for the file
  • "meta" (string) (default: '') File metadata (size, format, etc.)
  • "primary_meta" (array) (default: []) Primary meta of the file
  • "download" (object) (default: {}): Download link, following ECL Link structure
  • "download_attribute" (boolean) (default: false) Add the HTML download attribute to the download link
  • "picture" (associative array) (default: {}): Thumbnail image, following ECL Picture structure
  • "label" (array) (default: []) Array of ECL Label objects (also supported as a single label object)
  • "labels_aria" (string) (default: ''): Aria label for the labels area
  • "lists" (array) (default: []) Array of ECL Description list objects
  • "translation" (array) (default: []) Translation panel for multiple language versions:
    • "sr_toggle" (string) (default: ''): Additional toggle label; for screen readers
    • "download_attribute" (boolean) (default: false) Add download attribute to all translation links
    • "items" (array) (default: []) Translation items:
      • "title" (string) (default: '') Language label
      • "meta" (string) (default: '') File metadata for this language version
      • "lang" (string) (default: '') Language code (ISO 639-1)
      • "download" (object) Download link override for this language (falls back to parent download)
      • "download_attribute" (boolean) Download attribute override for this language
  • "extra_classes" (string) (default: '') Extra classes (space separated)
  • "extra_attributes" (array) (default: []) Extra attributes
    • "name" (string) Attribute name, eg. 'data-test'
    • "value" (string) Attribute value, eg: 'data-test-1'

Deprecated

  • "variant" (string) (default: 'default') Display variant; can be 'default' or 'thumbnail'; not used anmore
  • "detail_meta" (array) (default: []) Additional metadata for the thumbnail variant; replaced by 'primary_meta'
  • "translation.toggle" (object) (default: {}): Toggle button, following ECL Button structure; now set in the template directly

Example:

{% include '@ecl/file/file.html.twig' with {
  title: 'File title',
  language: 'English',
  meta: '(16.2 MB - PDF)',
  primary_meta: ['Meta info', 'DD Month YYYY'],  
  description: 'File description',
  label: [
    {
      variant: 'highlight',
      label: 'Highlight',
    },
  ],
  labels_aria: 'Labels',
  icon: {
    name: 'file-pdf',
    family: 'phosphor',
    title: 'pdf',
  },
  download: {
    link: {
      label: 'Download',
      path: '/example',
    },
  },
  translation: {
    sr_toggle: 'Translations',
    items: [
      {
        title: 'български',
        meta: '(15.7 MB - PDF)',
        lang: 'bg',
        download: {
          link: {
            label: 'Download',
            path: '/example#bg',
          },
        },
      },
      ...
    ],
  },
} %}

版本与发布记录

@ecl/file 共发布 45 个版本,首次发布于 2025/01/22;过去 12 个月发布了 24 个版本。

版本发布日期距今
5.4.1latest2026/11/103 天前
5.4.02026/10/2222 天前
5.3.22026/10/081 个月前
5.3.12026/09/211 个月前
5.3.02026/09/151 个月前
5.2.22026/09/082 个月前

关于 @ecl/file 的常见问题

@ecl/file 是什么?

ECL File

如何安装 @ecl/file?

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

@ecl/file 支持 TypeScript 吗?

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

@ecl/file 支持 ESM 还是 CommonJS?

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

@ecl/file 可以商用吗?

@ecl/file 使用 EUPL-1.2 许可。声明的许可为 EUPL-1.2,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@ecl/file 的下载量有多少?

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

@ecl/file 还在维护吗?

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