daisyUI 无构建项目(HTMX、WordPress)如何用 CDN 微 CSS 文件只引入所需组件样式
【免费下载链接】daisyui🌼 🌼 🌼 🌼 🌼 The most popular, free and open-source Tailwind CSS component library项目地址: https://gitcode.com/GitHub_Trending/da/daisyui
如果你的项目是 HTMX 页面、WordPress 主题这类直接输出静态 HTML 的环境,没有 Node.js 构建链,就无法走@plugin "daisyui"加 Tailwind 编译的常规安装流程。此时 daisyUI 的 CDN 方式可以解决依赖问题,但默认加载的是完整的daisyui.css。本文的目标是在无构建的前提下,把引入范围缩小到实际用到的那几个组件,用 CDN 上的微 CSS 文件只加载所需样式,并且知道怎么核对加载体积。适用对象是 daisyUI 5(文档中的 CDN 地址统一使用daisyui@5)。
先确认前提:无构建环境该走哪条路
daisyUI 的 HTMX 安装指南面向的是愿意安装 Node.js 依赖的项目(npm install tailwindcss@latest @tailwindcss/cli@latest daisyui@latest,CSS 里写@plugin "daisyui",再用npx @tailwindcss/cli -i app.css -o public/output.css构建)。该指南开头明确写了:如果不想用 Node.js,应使用 daisyUI 的 CDN 版本(见 CDN 文档/docs/cdn/+page.md))。WordPress 的官方安装路径则是 WindPress 插件(同样走编译,见 WordPress 安装文档/docs/install/wordpress/+page.md))。
因此 HTMX、WordPress 这类无构建场景的文档路径就是:把<link>标签直接加进 HTML 的head,不需要任何本地构建步骤。
完整包作为体积参照
CDN 文档给出的最简引入方式是完整 CSS 加 Tailwind 浏览器版:
<link href="https://cdn.jsdelivr.net/npm/daisyui@5" rel="stylesheet" type="text/css" /> <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>两个要点(均来自 CDN 文档):
daisyui.css只包含 light 和 dark 两个主题。需要其他主题时,要额外引入https://cdn.jsdelivr.net/npm/daisyui@5/themes.css。- 文档站点上的 CDN 页面会标注
daisyui.css的压缩后体积(文档示例以 kB 展示),这个数字就是后面判断“微文件方案省了多少”的参照值。
微 CSS 文件:把整包拆成组件级文件
CDN 文档明确说明:daisyUI 的每个部分都以独立 CSS 文件形式发布在 CDN 上,可用 jsDelivr 的combine能力把多个文件合并压缩成一个 CSS 请求。文档站点的 CDN 页面提供了“Choose parts”选择器,按以下分组列出全部可选文件(分组名来自 CDN 页面的服务端数据/docs/cdn/+page.server.js)):
- Base styles(
base/目录,基础样式) - Components and modifiers(
components/目录,各组件及其修饰类) - Utility classes(
utilities/目录) - Color utility classes(
colors/目录) - Themes(
theme/目录)
在页面上勾选需要的部分后,页面会生成一条合并后的<link>,地址格式为:
https://cdn.jsdelivr.net/combine/npm/daisyui@5/<文件路径1>,npm/daisyui@5/<文件路径2>,...每个选中的文件对应npm/daisyui@5/<文件路径>一段,多段之间用英文逗号连接。也可以不经过页面选择器,直接按这个格式手工拼 URL——具体有哪些文件可用,以 CDN 页面列出的文件清单为准。比如只用到基础样式、button 组件和 light 主题时,最终地址形如(示例地址,文件名以 CDN 页面清单为准):
<link href="https://cdn.jsdelivr.net/combine/npm/daisyui@5/base/properties.css,npm/daisyui@5/components/button.css,npm/daisyui@5/theme/light.css" rel="stylesheet" type="text/css" />需要 daisyUI 颜色工具类时,追加 colors 微文件
组件样式之外,daisyUI 的语义色(bg-primary、text-base-content等)依赖颜色工具类。colors 文档/docs/colors/+page.md)说明,部分不常见的颜色工具类在 CDN 上放在额外文件里:
| 类 | CDN 文件 |
|---|---|
bg-{COLOR_NAME}、text-{COLOR_NAME}、border-{COLOR_NAME} | https://cdn.jsdelivr.net/npm/daisyui@5/colors/properties.css |
from-、via-、to-、ring-、fill-、stroke-、shadow-、outline- | https://cdn.jsdelivr.net/npm/daisyui@5/colors/properties-extended.css |
按需把对应的colors/properties.css或colors/properties-extended.css追加进 combine 地址(或单独加一个<link>)即可。注意一个文档明确的限制:使用 daisyUI CDN 文件时,颜色透明度的可选值只有 10、20、30、40、50、60、70、80、90(而 Tailwind 插件方式下可以是 0–100 任意值)。
验证:体积对比与类名可用性
文档给出的可核对项有两个:
- 体积对比:CDN 页面的选择器会实时显示当前勾选文件组合的压缩后总体积(kB),并在小于完整包时标注“比 daisyui.css 小 X%”。把组合体积与文档标注的
daisyui.css体积对照,就能确认裁剪是否生效。 - 类名可用:文档的安装路径(HTMX 指南)以“Now you can use daisyUI class names!”作为完成标志——即页面中
<button class="btn btn-primary">这类 daisyUI 类名生效、组件呈现样式,说明引入成功。
CDN 微文件的已知边界
- 像
is-drawer-open、is-drawer-close这类 daisyUI 变体类名不包含在 CDN 文件中,文档给出的原因是:为所有类名生成这些变体会导致文件过大。如果你的组件依赖这些变体类,CDN 方案不覆盖,需要回到插件编译方式。 daisyui.css只带 light/dark 主题,其他主题要加themes.css或按需挑theme/下的单个主题文件,二者不要重复引入同一主题。- 透明度工具类在 CDN 文件里只有整十步进的可选值(见上节)。
如果项目里恰好有 Node 环境(例如 HTMX 页面附带一个构建脚本),也可以改走 HTMX 安装指南/docs/install/htmx/+page.md) 的@tailwindcss/cli编译路径,产出本地output.css再被 HTML 引用;两者取舍取决于你是否有构建步骤,CDN 微文件方式的价值就在于完全不需要构建。
【免费下载链接】daisyui🌼 🌼 🌼 🌼 🌼 The most popular, free and open-source Tailwind CSS component library项目地址: https://gitcode.com/GitHub_Trending/da/daisyui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考