@charcuterie/vite-config

中文文档
1.1.0发布于 2026/08/13MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 1806

用于 Charcuterie 车队的共享 Vite 配置工厂—— call CreateVite Config(管理) 并添加自己的插件 .

中文使用文档

@ charcuterie/vite-config

共享 Vite 配置 工厂 为夏克特利舰队。 建造/服务船 默认每个应用程序都想要并留给调用者插件, 所以一个预设服务为 React SPA,一个电子渲染器,和一个图书馆建筑.

使用量

// vite.config.ts
import { createViteConfig } from "@charcuterie/vite-config"
import react from "@vitejs/plugin-react"

export default createViteConfig({
  plugins: [react()],
  build: { outDir: "dist/web" },
})

覆盖是 深渊 通过维特自己的基地 mergeConfig应用 多个目标(例如图像-查看器的电源主/预装/着陆器)每架调用一次 目标有不同的覆盖.

vite 是一个对等的依赖性 —— 应用程序拥有 Vite 版本 。 翻新时会碰上这个 当共享默认值改变时, 软件包的机队范围.

这个 index.html 警卫

基地舰艇 一个插件, (中文(简体) ), charcuterie:no-shadowed-injection-anchors,而事实并非如此 选入. 当一个结构标记启动时, 它失败了 building —— 和 dev 服务器 文字坐落在 HTML 注释中 在此之前 真正的标记 它的阴影.

Vite 在原始 HTML 上找到带有纯正则的脚本注入点 (单位:千美元)/<head[^>]*>/i 兄妹关系 </head>, (中文(简体) ), <body>, (中文(简体) ), </body>, (中文(简体) ), </html>) (中文(简体) ). 他们是 评论盲,所以 第一个 字义 <head> 在文件中获胜,甚至在内部 <!-- … -->,并且所有Vite意在在浏览器所在的注释中注入土地的东西 从来没有描述它。 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}在Dev中,这就是 @vitejs/plugin-react反应- 新的序言和 /@vite/client: 控制台说 "@vitejs/plugin-react 不能检测到序言", (中文(简体) ), $RefreshReg$ 未定义, HMR 已死, 页面为空白 .

生产建设没有受到影响,正因为如此,这需要一种机制. typecheck, (中文(简体) ), lint, (中文(简体) ), unit-tests, (中文(简体) ), e2e, (中文(简体) ), build-budget 财务报告和审定财务报表 storybook-build 全部留下来 绿色同时 yarn dev 什么都没有 相隔六天的两起事件 2026-08-05 (中文(简体) ) 锁定 裁判记录没有其他人知道) 2026-08-11 (中文(简体) )200块——这是什么 将其移动到共享的建筑接合器中,而不是同一段落的第十二份.

[@charcuterie/vite-config] packages/web/index.html would break the dev server.

  line 10: a literal `<head>` inside an HTML comment comes before the real one
    the `@charcuterie/tokens` `buildFirstPaintScript` snippet in <head> below,
  …
  Fix: drop the angle brackets in the prose (`head`, not `<head>`), or
  move the comment below the real tag. Both are one line.

其范围有三个方面是深思熟虑的:

  • "在真正的标记之前",不是"从来没有在评论". 穆克魔法师运来的固定装置 单词 <head> 在评论中,它移动了评论 内部 <head>所以第一个 文件中的文字现在是真正的元素。 那档案是正确的 和毛毯禁令 会失败的 检查的条件是Vite的实际故障条件,所以规则是 和虫子一样严格.
  • 打开 <html> 不是一个锚. 维特没有头html 注射点,所以 图像查看器的主要注释命名 `<html>` 阴影无所取出而去.
  • 它运行在 build 以及 serve。 。 。 . 生产不受虫子的影响 所以 仅服务检查会让CI完全盲目,就像这两次运送一样.

它在两个钩子上起火: configResolved 读取 index.html (和 HTML 滚动输入) 关闭磁盘这样 yarn dev 死亡时间 启动 与原因印出,和 transformIndexHtml (单位:千美元)order: "pre"获取已送达的文件。 一张只跑的支票 在第一个请求中, 服务器看起来很健康 经验是固定的.

要检查 HTML 而不需要 Vite 配置的任何东西, 纯半导出 :

import { findShadowedInjectionAnchors } from "@charcuterie/vite-config"

findShadowedInjectionAnchors(html)
// [{ anchor: "<head>", line: 10, snippet: "…snippet in <head> below," }]

一个用手建立虚拟配置的应用程序可以添加 createStructuralTagCommentGuard() 给它自己的 plugins。 。 。 .

版本与发布记录

@charcuterie/vite-config 共发布 4 个版本,首次发布于 2026/08/08;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.0latest2026/08/132 个月前
1.0.22026/08/112 个月前
1.0.12026/08/083 个月前
1.0.02026/08/083 个月前

关于 @charcuterie/vite-config 的常见问题

@charcuterie/vite-config 是什么?

用于 Charcuterie 车队的共享 Vite 配置工厂—— call CreateVite Config(管理) 并添加自己的插件 .

如何安装 @charcuterie/vite-config?

在项目目录运行 npm install @charcuterie/vite-config,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vite(>=5)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@charcuterie/vite-config 支持 TypeScript 吗?

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

@charcuterie/vite-config 支持 ESM 还是 CommonJS?

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

@charcuterie/vite-config 可以商用吗?

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

@charcuterie/vite-config 的下载量有多少?

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

@charcuterie/vite-config 还在维护吗?

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