@ecl/picture

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

ECL Picture

原始使用文档

ECL Picture component

npm package: @ecl/picture

npm install --save @ecl/picture

Parameters

  • "picture" (object) (default: {}):
    • "img" (object) (default: {}):
      • "src" (string) (default: '') Path to the image
      • "alt" (string) (default: '') Alt text of the image
    • "image_anchor" (string) (default: 'center') Position of the image when cropped. Can be any value allowed by object-position
    • "debug_position": (boolean) (default: false) Shows a marker where the focal point is in the rendered image
    • "sources" (array) (default: []) Responsive image sources; format:
      • "src" (string) (default: '') Path to the source image
      • "media" (string) (default: '') Media condition; a breakpoint name ('xs', 's', 'm', 'l', 'xl', 'xxl') or a CSS media string
      • "type" (string) (default: '') MIME type of the source
  • "lazy" (boolean) (default: false) Load the picture using lazy loading
  • "zoom" (boolean) (default: false) Apply a zoom animation on hover
  • "extra_classes" (string) (default: '') Extra classes on the root <picture> tag
  • "extra_image_classes" (string) (default: '') Extra classes on the <img> tag
  • "extra_attributes" (array) (default: []) Extra attributes on the <picture> tag
    • "name" (string) Attribute name, eg. 'data-test'
    • "value" (string) Attribute value, eg: 'data-test-1'

Example:

{% include '@ecl/picture/picture.html.twig' with {
  picture: {
    img: {
      src: 'https://inno-ecl.s3.amazonaws.com/media/examples/example-image.jpg',
      alt: 'Image alternative text',
    },
    sources: [
      {
        src: 'https://inno-ecl.s3.amazonaws.com/media/examples/example-image6.jpg',
        media: '(min-width: 90rem)'
      },
      {
        src: 'https://inno-ecl.s3.amazonaws.com/media/examples/example-image5.jpg',
        media: 'xl',
      },
      {
        src: 'https://inno-ecl.s3.amazonaws.com/media/examples/example-image4.jpg',
        media: 'l',
      },
      {
        src: 'https://inno-ecl.s3.amazonaws.com/media/examples/example-image3.jpg',
        media: 'm',
      },
      {
        src: 'https://inno-ecl.s3.amazonaws.com/media/examples/example-image2.jpg',
        media: 's',
      },
    ],
  },
} %}

版本与发布记录

@ecl/picture 共发布 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/picture 的常见问题

@ecl/picture 是什么?

ECL Picture

如何安装 @ecl/picture?

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

@ecl/picture 支持 TypeScript 吗?

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

@ecl/picture 支持 ESM 还是 CommonJS?

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

@ecl/picture 可以商用吗?

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

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

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

@ecl/picture 还在维护吗?

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