# @divriots/jampack 中文文档

规范地址：https://npmcn.com/package/%40divriots/jampack/

版本：0\.35\.0
npm 元数据更新时间：2026-11-11T14:43:10.631Z
中文译文更新时间：2026-11-12T11:53:09.525Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40divriots/jampack
原文对照：https://npmcn.com/package/%40divriots/jampack/?lang=original
项目主页：https://github.com/divriots/jampack
源码仓库：https://github.com/divriots/jampack

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：115 kB，59 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.10\.0
- 运行依赖：25 个
- 首次发布：2020-05-06T20:37:26.486Z
- 最新版本发布：2026-11-11T14:43:10.323Z
- 近 30 天下载量：9810（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：92（近 12 个月 3 个）

## 中文简介

静态网站包装器

## 安装

```sh
npm install @divriots/jampack
```

也可以使用：`pnpm add @divriots/jampack`、`yarn add @divriots/jampack`、`bun add @divriots/jampack`

## README

```
     __                                    __    
    |__|____    _____ ___________    ____ |  | __
    |  \__  \  /     \\____ \__  \ _/ ___\|  |/ /
    |  |/ __ \|  Y Y  \  |_> > __ \\  \___|    < 
/\__|  (____  /__|_|  /   __(____  /\___  >__|_ \
\______|    \/      \/|  |       \/     \/     \/
                      |__|
```

[![npm version](https://img.shields.io/npm/v/@divriots/jampack)](https://npmjs.org/package/@divriots/jampack) [![Discord](https://img.shields.io/badge/chat-discord-blue?style=flat&logo=discord)](https://discord.gg/XkQxSU9)

# 夹克

优化静态网站,以获得最佳用户体验和最佳Core Web Vitals分数.

带给你的

 [![‹div›RIOTS](https://divriots.com/divriots.svg)](https://divriots.com/#gh-light-mode-only)[![‹div›RIOTS](https://divriots.com/divriots-dark.svg)](https://divriots.com/#gh-dark-mode-only)

## 这是什么 `jampack`? 吗?

> 没有捆绑者。 不是一个框架.

`jampack` 是一个后处理工具,它占用您的输出 [静态场地发电机(Aka SSG)](https://jamstack.org/generators/) 并优化它 最好的用户经验和最佳 [核心网络维度](https://web.dev/learn-core-web-vitals/) 分数.

[阅读介绍博客文章](https://divriots.com/blog/introducing-jampack/)

## 还有什么 `jampack` 是吗?

### `<img>`

```html
<img src="./redpanda.jpg" alt="Red panda">
```

适应各方面:

```html
<img src="./redpanda.jpg.webp" alt="Red panda" 
     srcset="
     ./redpanda.jpg.webp 3872w, ./redpanda@3572w.jpg.webp 3572w, ./redpanda@3272w.jpg.webp 3272w, 
     ./redpanda@2972w.jpg.webp 2972w, ./redpanda@2672w.jpg.webp 2672w, ./redpanda@2372w.jpg.webp 2372w,
     ./redpanda@2072w.jpg.webp 2072w, ./redpanda@1772w.jpg.webp 1772w, ./redpanda@1472w.jpg.webp 1472w,
     ./redpanda@1172w.jpg.webp 1172w, ./redpanda@872w.jpg.webp 872w"
     sizes="100vw"
     loading="lazy"
     decoding="async"
     width="3872" 
     height="2592">
```

### `<picture>`

```html
<picture>
    <img src="./redpanda.jpg" alt="Red panda">
</picture>
```

以多种形式作出反应,包括AVIF:

```html
<picture>
    <source type="image/avif" 
            srcset="./redpanda@1936w.avif 1936w, ./redpanda@1636w.avif 1636w,
                    ./redpanda@1336w.avif 1336w, ./redpanda@1036w.avif 1036w,
                    ./redpanda@736w.avif 736w">
    <source type="image/webp" 
            srcset="./redpanda@1936w.webp 1936w, ./redpanda@1636w.webp 1636w,
                    ./redpanda@1336w.webp 1336w, ./redpanda@1036w.webp 1036w,
                    ./redpanda@736w.webp 736w">
    <img src="./redpanda.jpg" 
         alt="Red panda" 
         loading="lazy" 
         decoding="async" 
         width="1936" 
         height="1296" 
         srcset="./redpanda.jpg 1936w, ./redpanda@1636w.jpg 1636w,
                 ./redpanda@1336w.jpg 1336w, ./redpanda@1036w.jpg 1036w,
                 ./redpanda@736w.jpg 736w"
         sizes="100vw">
</picture>
```

[更多信息](https://npmcn.com/features/optimize-images)

### CDN 图像变得响应

```html
<img
      src="https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
      alt="Clouds in the sky by Taylor Van Riper"
      width="2848"
      height="4272"
    />
```

变成

```html
<img
      src="https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
      alt="Clouds in the sky by Taylor Van Riper"
      width="2848"
      height="4272"
      loading="lazy"
      decoding="async"
      srcset="
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=2848&amp;fit=min&amp;auto=format 2848w,
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=2548&amp;fit=min&amp;auto=format 2548w,
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=2248&amp;fit=min&amp;auto=format 2248w,
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=1948&amp;fit=min&amp;auto=format 1948w,
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=1648&amp;fit=min&amp;auto=format 1648w,
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=1348&amp;fit=min&amp;auto=format 1348w,
        https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&amp;ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&amp;w=1048&amp;fit=min&amp;auto=format 1048w
      "
      sizes="100vw"
    />
```

[更多信息](https://npmcn.com/features/optimize-images-cdn)

### 外部图像可以下载并优化

```html
<img
     src="https://images.unsplash.com/photo-1513002749550-c59d786b8e6c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=jpg&fit=crop&w=1287&q=80"
     alt="Clouds in the sky by Taylor Van Riper"
/>
```

变成

```html
<img
     src="_jampack/ab99b9d280ce4cf7cfc810b59f3a7739.jpg.webp"
     alt="Clouds in the sky by Taylor Van Riper"
     loading="lazy"
     decoding="async"
     width="1287"
     height="1931"
     srcset="
        _jampack/ab99b9d280ce4cf7cfc810b59f3a7739.jpg.webp  1287w,
        _jampack/ab99b9d280ce4cf7cfc810b59f3a7739@987w.webp  987w,
        _jampack/ab99b9d280ce4cf7cfc810b59f3a7739@687w.webp  687w
     "
     sizes="100vw"
    />
```

[更多信息](https://npmcn.com/features/optimize-images-external)

### 上至下层( B)

`jampack` 优化上下级的资产.

-   图像以更高的优先级加载.
-   小图像被嵌入到HTML中.

懒人资产低于... ...

-   图像和Iframes 懒得装入.

[更多信息](https://jampack.divriots.com/features/optimize-above-the-fold/)

## 内部关键CSS

避免 [团结基金](https://en.wikipedia.org/wiki/Flash_of_unstyled_content) 而样式表则被下载并解析. `jampack` 将内置关键CSS 并懒惰地装入CSS的其余部分.

[更多信息](https://jampack.divriots.com/features/inline-critical-css/)

## 前置链接

通过预取页面链接来加快未来的页面导航. 感谢 [快速链接](https://github.com/GoogleChromeLabs/quicklink),可以在链接输入视图端口时动态完成.

[更多信息](https://jampack.divriots.com/features/prefetch-links/)

### 所有资产都已压缩

在第二个PASS, `jampack` 压缩所有未触及的资产,并保持同名和同格式.

分机 分机 分机 分机 分机 —————————————————————— | `.html`, (中文(简体) ),`.htm` | [`html-minifier-terser`](https://github.com/terser/html-minifier-terser) |  
| `.css` | [`lightningCSS`](https://lightningcss.dev/) | | `.js` | [`esbuild`](https://esbuild.github.io/) 或者说 [`swc`](https://swc.rs/) |  
| `.svg` | [`svgo`](https://github.com/svg/svgo) |  
| `.jpg`, (中文(简体) ),`.jpeg` | [`sharp`](https://sharp.pixelplumbing.com/) |  
| `.png` | [`sharp`](https://sharp.pixelplumbing.com/) |  
| `.webp` | [`sharp`](https://sharp.pixelplumbing.com/) |  
| `.avif` | [`sharp`](https://sharp.pixelplumbing.com/) |

### [还有更多!](https://jampack.divriots.com/)

## 快速使用

```sh
# Optimize static website in `dist` folder
npx @divriots/jampack ./dist
```

更多选项见 [CLI 选项](https://jampack.divriots.com/cli-options/)。 。 。 .

## `jampack` 在野外使用过

-   给所有人提供动力 [迪维特斯](https://divriots.com/)网站
-   [键盘cloak.ch](https://keycloak.ch/)
-   [bayjs.org (英语)](https://bayjs.org/)
-   [qwind.pages.dev (中文(简体) )](https://qwind.pages.dev/)
-   [布洛伊西的博客](https://bloycey.blog/)
-   [gxanshu.in (英语)](https://gxanshu.in/)
-   [(原始内容存档于2017-10-21). youtcannon.com](https://cloudcannon.com/)
-   [组同步.app](https://groupsync.app/)

> 这里加你的

## 为什么它叫 `jampack`? 吗?

-   `jam`: 从 [贾姆斯塔克](https://en.wikipedia.org/wiki/Jamstack)。 。 。 .
-   `pack`: 矿藏 [可执行包装器](https://en.wikipedia.org/wiki/Executable_compression#List_of_executable_packers) 从90年代.

## 许可证

本软件按照以下条款发布: [麻省理工学院许可证](https://github.com/divriots/jampack/blob/main/LICENSE)。 。 。 .

## 常见问题

### @divriots/jampack 是什么？

静态网站包装器

### 如何安装 @divriots/jampack？

在项目目录运行 npm install @divriots/jampack，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 jampack，可以用 npx jampack 直接运行。

### @divriots/jampack 支持 TypeScript 吗？

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

### @divriots/jampack 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @divriots/jampack 需要什么版本的 Node\.js？

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

### @divriots/jampack 可以商用吗？

@divriots/jampack 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @divriots/jampack 的下载量有多少？

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

### @divriots/jampack 还在维护吗？

最新版本 0\.35\.0 发布于 2026/11/11（今天）；至今共发布 92 个版本，其中过去 12 个月发布了 3 个；首次发布于 2020/05/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

