独立 CLI:无需 Node.js 使用 Tailwind CSS

日期

Tailwind CSS 是用 JavaScript 编写的,并作为 npm 包发布,这意味着您一直需要安装 Node.js 和 npm 才能使用它。

这使得它更难集成到使用 npm 不常见的项目中,并且随着像 RailsPhoenix 这样的工具默认情况下都远离 npm,我们需要找到一种方法让人们在这些项目中使用 Tailwind,而无需强迫他们采用完全独立的工具生态系统。

今天,我们宣布了一个新的 独立 CLI 版本,它为您提供了一个自包含的可执行文件中 Tailwind CLI 的全部功能 - 无需 Node.js 或 npm。


开始使用

要安装它,请从 GitHub 上的 最新版本 获取适合您平台的可执行文件,确保赋予它可执行权限

终端
# Example for macOS arm64
curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-macos-arm64
chmod +x tailwindcss-macos-arm64
mv tailwindcss-macos-arm64 tailwindcss

现在您可以像使用我们 npm 分发的 CLI 工具一样使用它

终端
# Create a tailwind.config.js file
./tailwindcss init

# Start a watcher
./tailwindcss -i input.css -o output.css --watch

# Compile and minify your CSS for production
./tailwindcss -i input.css -o output.css --minify

我们甚至捆绑了所有第一方插件的最新版本,所以如果你想在你的项目中使用它们,只需在你的 `tailwind.config.js` 文件中像在基于 Node 的项目中一样 `require` 它们。

tailwind.config.js
module.exports = {
  // ...
  plugins: [
    require('@tailwindcss/forms'),
    require('@tailwindcss/typography'),
  ]
}

你可以在一个方便的、可移植的包中获得我们标准的 npm 分发 CLI 的全部功能——无需依赖项。


它是如何工作的?

我们没有用 Rust 重写 Tailwind 或其他任何东西(还没有…)——我们实际上使用的是 pkg,这是一个由 Vercel 开发的非常酷的项目,它可以将 Node.js 项目转换为可执行文件,该可执行文件可以通过将项目所需的所有部分捆绑到可执行文件本身来运行,而无需安装 Node.js。

这就是为什么你可以继续使用 `tailwind.config.js` 文件,并拥有 JavaScript 的全部功能,而不是像 JSON 这样的静态格式。


我应该使用哪个 CLI?

如果你已经在你的项目中使用 npm,请使用我们一直提供的 npm 分发的 CLI 版本。它更新起来更简单,文件大小更小,而且你已经在生态系统中——使用独立构建没有任何好处。

另一方面,如果你正在一个不需要 Node.js 或 npm 的项目上工作,独立构建可能是一个不错的选择。如果 Tailwind 是你拥有 `package.json` 文件的唯一原因,这可能感觉是一个更好的解决方案。