@froxz/vite-plugin-s3

中文文档
2.1.4发布于 2026/06/22MITTypeScriptES Module构建来源已验证近 30 天下载 6.7万

允许您上传文件到 AWS S3 或任何其他 S3 兼容提供者

中文使用文档
文档目录7 节
  1. * 特性
  2. QQ 安装
  3. 使用量
  4. QQ 选项
  5. 💧 数字海洋 空格对象存储示例
  6. 谢谢
  7. 许可证

紫外插图3

Vite 兼容文件上传插件

vite-plugin-s3 banner

Version NPM Downloads GitHub License OSSF-Scorecard Score

* 特性

  • 🦾 类型强: 写入 类型脚本
  • ⚡ S3 兼容性: 支持任何 S3 兼容的提供者( AWS, DO Spaces...)
  • ✨ 上传任何文件: 不仅可以构建文件夹,还可以上传任何文件或目录

QQ 安装

$ npm i @froxz/vite-plugin-s3

使用量

uploadOptions 默认为 ACL: 'public-read' 因此,如果你有其他需要,你可能需要推翻.

添加 vite-plugin-s3 插件为 vite.config.js / vite.config.ts 并配置它:

import { defineConfig } from 'vite'
import { ViteS3 } from '@froxz/vite-plugin-s3'

export default defineConfig({
  plugins: [
    ViteS3(!!process.env.UPLOAD_ENABLED, {
      basePath: '/build',
      clientConfig: {
        credentials: {
          accessKeyId: '',
          secretAccessKey: '',
        },
        region: 'eu-west-2'
      },
      uploadOptions: {
        Bucket: 'my-bucket'
      }
    })
  ]
})

QQ 选项

enabled/disable: 此设置可用于禁用或允许资产上传( 此外, SSR 中已禁用插件, 且非构建运行)

选项说明类型默认
exclude匹配被排除在外内容的模式string,RegExp,Function,Arraynull
include匹配包含内容的模式string,RegExp,Function,Arraynull
clientConfigS3Client 类构建器的配置界面S3 客户配置required
uploadOptionsPutObjectRequest 选项,但 Body 财务报告和审定财务报表 Key设置对象请求required
basePathS3 上传文件的命名空间stringnull
directory要上传的目录string构建。 出局 Dir
sequentialUploads若为 true,文件将相继上传.booleanfalse

高级 include 财务报告和审定财务报表 exclude rules

include 财务报告和审定财务报表 exclude 除RegExp外,您还可以通过一个函数,该函数将以路径作为第一个参数。 返回一个真实值将符合规则。 您也可以通过一个规则阵列, 所有这些规则都必须通过才能包含或排除文件 .

import { defineConfig } from 'vite'
import { ViteS3 } from '@froxz/vite-plugin-s3'
import isGitIgnored from 'is-gitignored'
// Up to you how to handle this
var isPathOkToUpload = function(path) {
    return require('my-projects-publishing-rules').checkFile(path)
}
export default defineConfig({
    plugins: [
        new ViteS3(!!process.env.UPLOAD_ENABLED, {
            // Only upload css and js and only the paths that our rules database allows
            include: [
                /.*\.(css|js)/,
                function(path) { isPathOkToUpload(path) }
            ],
            // function to check if the path is gitignored
            exclude: isGitIgnored,
            clientConfig: {
                credentials: {
                    accessKeyId: process.env.AWS_ACCESS_KEY_ID,
                    secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
                },
                region: 'eu-west-2'
            },
            uploadOptions: {
                Bucket: 'my-bucket'
            }
        })
    ]
})

💧 数字海洋 空格对象存储示例

import { defineConfig } from 'vite'
import { ViteS3 } from '@froxz/vite-plugin-s3'
export default defineConfig({
    plugins: [
        new ViteS3(!!process.env.UPLOAD_ENABLED, {
            clientConfig: {
                credentials: {
                    accessKeyId: process.env.DO_ACCESS_KEY_ID,
                    secretAccessKey: process.env.DO_SECRET_ACCESS_KEY,
                },
                endpoint: 'https://fra1.digitaloceanspaces.com',
                region: 'fra1'
            },
            uploadOptions: {
                Bucket: 'my-bucket'
            }
        })
    ]
})

谢谢

感谢 米卡亚克 页:1 s3-插件-网络包装 用作启发fro 此插件

许可证

MIT 许可证 塞尔克·梅林克

DigitalOcean Referral Badge

版本与发布记录

@froxz/vite-plugin-s3 共发布 36 个版本,首次发布于 2023/03/14;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.1.4latest2026/06/224 个月前
2.1.32026/06/155 个月前
2.1.22026/06/035 个月前
2.1.12026/06/025 个月前
2.1.02026/06/025 个月前
2.0.52025/07/281.3 年前

关于 @froxz/vite-plugin-s3 的常见问题

@froxz/vite-plugin-s3 是什么?

允许您上传文件到 AWS S3 或任何其他 S3 兼容提供者

如何安装 @froxz/vite-plugin-s3?

在项目目录运行 npm install @froxz/vite-plugin-s3,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vite(^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@froxz/vite-plugin-s3 支持 TypeScript 吗?

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

@froxz/vite-plugin-s3 支持 ESM 还是 CommonJS?

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

@froxz/vite-plugin-s3 可以商用吗?

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

@froxz/vite-plugin-s3 的下载量有多少?

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

@froxz/vite-plugin-s3 还在维护吗?

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