在 Angular 中轻松设置 TailwindCSS
在本教程中,我将向您展示如何以 EZ EZ 方式将 TailwindCSS 集成到您的 Angular 项目中。
本教程适用于想要在其 Angular 应用程序中使用新发布版本11.2.0
(现在附带对 TailwindCSS 的原生支持😉)或旧版本的用户。
您可以跳过💩直接进入安装步骤
内容
- 什么是 TailwindCSS?
- TailwindCSS 如何工作?
- TailwindCSS 的优势
- TailwindCSS 的缺点
- 安装 TailwindCSS (Angular 版本 <
11.2.0
) - 安装 TailwindCSS(Angular 版本 >=
11.2.0
) - 确保 TailwindCSS 在 Angular 中正常工作
- 在 Angular 产品构建中清除 Tailwind
什么是 TailwindCSS?
“一个实用优先的 CSS 框架,包含诸如
flex
、、pt-4
和text-center
之类的类rotate-90
,可以直接在你的标记中组合以构建任何设计。” - Tailwind 团队
TailwindCSS 如何工作?
TailwindCSS 与 Bootstrap 等其他 CSS 框架不同。它自带一组实用类(CSS 类)。您可以创建并组合这些类,从而赋予 UI 所需的外观。TailwindCSS 允许您以非常简单的方式自定义样式,从而创建您自己的设计系统。
TailwindCSS 的优势
- 您将花费更多时间在业务逻辑上而不是 CSS 上
- 预制的实用类可供使用
- 您可以像添加任何 CSS 类一样添加它们的类
- 生产重量轻
- 移动优先
- 可扩展、可定制
- 以“老派”的方式使用它,将其样式应用到您的 CSS 类中
- IDE 的扩展
- 有据可查
- 受到 Vue 和 React 等不同工具的良好支持
- 您可以随时检查网站中的 TailwindCSS 类并查看实际的 CSS 代码 :)
- 类的命名约定是有意义的,例如
space-y-4
它将在 HTML 元素之间添加 4 像素的垂直(Y 轴)空间。
TailwindCSS 的缺点
- 如果你是 CSS 新手,我不建议你这么做,不是因为它难,而是因为它会让你变懒。有时你根本不需要写 CSS,只需要添加一些类即可。
- 会使你的 HTML 变得非常脏乱。如果你在 HTML 元素中添加大量类,它很快就会变得丑陋!一个解决方案是使用 TailwindCSS 中的类来创建组件,这样你就可以清理你的 HTML。
安装 TailwindCSS(Angular 版本 < 11.2.0)
如果你的 Angular 版本大于或等于 11.2.0,则可以跳过此部分
我个人认为,在低于 11.2.0 版本的 Angular 应用中使用 TailwindCSS 最简单的方法是使用@ngneat/tailwind npm 包。我的使用体验非常好(即插即用)。
-
第一步是在您的 Angular 项目中运行以下示意图:
ng add @ngneat/tailwind
-
当询问您是否要启用暗模式时,请选择
class
-
当被问到是否愿意在组件样式中使用 Tailwind 指令和函数时,请选择
Yes
-
当系统询问您要启用哪些 TailwindCSS 插件时,请选择
forms
或typography
全部启用。这取决于您。
在我们的 Angular 应用程序中安装 TailwindCSS 后,我们需要关注 4 个部分。
- 创建新文件后tailwind.config.js
它应该看起来像这样
- 创建新文件后webpack.config.js
它应该看起来像这样
- 新的dark
类已添加到您的index.html
body 元素
<body class="dark">
<app-root></app-root>
</body>
- 一些导入内容已添加到您的styles.scss
文件中
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';
注意:要在生产版本中打开清除功能,请关注这条小推文
选修的
看看我朋友 Beeman 制作的这个精彩视频吧。它展示了如何在 3 分钟内将 TailwindCSS 在 Angular 中使用!
安装 TailwindCSS(Angular 版本 >= 11.2.0)
如果您的 Angular 版本低于 11.2.0,则可以跳过本节并查看上面的安装说明。如果您已经执行了前面的步骤,请转到Testing TailwindCSS in Angular
下一节。
-
安装
npm install -D tailwindcss
-
安装 TailwindCSS 插件(可选):
-
npm i @tailwindcss /typography
-
npm i @tailwindcss /forms
有些人正在运行旧版本的 CLI 或 @angular-devkit/build-angular。请确保您的 package.json 至少包含 11.2.0 版本,或者有更新的版本(如果有)。
- 在工作区或项目根目录中创建一个 TailwindCSS 配置文件。将该配置文件命名为
tailwind.config.js
它看起来应该是这样的:
module.exports = {
prefix: '',
purge: {
content: [
'./src/**/*.{html,ts}',
]
},
darkMode: 'class', // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [require('@tailwindcss/forms'),require('@tailwindcss/typography')],
};
- 在您的styles.scss文件中添加以下TailwindCSS导入
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';
如果您使用的是 CSS 而不是 SCSS,您的文件应该如下所示:
@tailwind base;
@tailwind components;
@tailwind utilities;
确保 TailwindCSS 在 Angular 中正常工作
转到任意组件并写入以下内容:
<button
class="py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-red-400">Hello</button>
现在运行ng serve
,你应该看到以下按钮
如果您不想在 HTML 中包含那么多类,则可以通过将 TailwindCSS 类放入 CSS/SCSS 文件中来清理它。
.btn {
@apply py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-red-400
}
** 注意我正在使用@apply **
<button class="btn">Hello</button>
运行 Angular 11.2.0 和 Tailwind 的项目的Github Repo
如何在生产环境中清除 TailwindCSS
如果我们不清除 CSS,由于 TailwindCSS 为您添加了大量 CSS 类,我们的 CSS 可能会非常繁重。如果您清除 CSS,所有未使用的类都将被移除。
我认为在 Angular 11.2.0 中进行清除的方法如下:
A) 这是我推荐的方法。将其添加到你的构建脚本中NODE_ENV=production ng build --prod
,你的 tailwind.config.js 文件应该如下所示。
...
purge: {
enabled: process.env.NODE_ENV === 'production',
content: [
'./src/**/*.{html,ts}',
]
},
...
B)tailwind.config.js file
您可以在属性enabled
中设置属性purge
true
....
prefix: '',
purge: {
enabled: true,
content: [
'./src/**/*.{html,ts}',
]
},
....
然后您可以运行ng build --prod
,您将看到您的捆绑包变得越来越小。
特别感谢:
ngneat/tailwind 包的贡献者:
Chau Tran
Beeman
以及这个出色的软件包的其他贡献者。
特别感谢 Angular Taiwan 的 GDE Kevin 帮助我调试问题
。Kevin
特别感谢 Vlad,他向我展示了清除技巧 :)
Vlad Tansky