Tailwind Tailwind 是新的 CSS 实用程序框架,它很快成为我最喜欢的构建界面的方法。通常,尝试一个新的框架、包或语言的最困难的部分是建立起来。
建造 Tailwind 的人做了一项令人难以置信的工作,记录了这个过程,而且非常容易做到。但是,有时还是很高兴看到别人是怎么做到的。所以,让我们跳进去看看是怎么做到的。
入门
首先,假设我们开始一个新的 Laravel 项目。 我不会去介绍咋么设置它,你可以参考文档 点击这里。完成 Laravel 的所有设置之后,让我们看 Tailwind 的安装文档 点击这里.
在他们的文档,可以看到,最简单的方法就是把 CDN 放到你的项目中,然后开始编码。 这是很好的尝试,让我们进一步把它应用到我们的构建过程中。
安装
我们可以使用 NPM 或者 Yarn 命令把 Tailwind 拉到我们的项目中。
# 使用 npm
npm install tailwindcss --save-dev
# 使用 Yarn
yarn add tailwindcss --dev
当包拖入到我们的项目中,我们可以生成 Tailwind 的配置文件。我们可以随意调用配置文件, 我们将其称为 tailwind.js。现在,我们可以在项目根目录下运行以下命令。
./node_modules/.bin/tailwind init tailwind.js
Configuration
配置真的是小菜一碟,在项目的根路径中我们已经有了一个配置文件。打开并且查看它,你会发现,Tailwind 团队已经在文档注释和解析配置用途方面做出了出色的工作,你可以添加颜色,调整断点,间距等等。你会感觉到保持全局风格一致性是多么容易的事情啊!
让我们打开 resources/assets/sass 目录,laravel 已经包含了一些开箱即用的默认文件,你可以忽略并且删除它们,如果你想这么做的话。
Sass Setup
在当前目录中,我们可以创建 index.sass 文件(你可以任意命名这个文件,只是不要把它命名为 “late for dinner”!),现在,我们将会从 Tailwind 中复制以下代码
/**
* 这个注入了Tailwind 的基本样式, 它混合了Normalize.css和一些额外的基本样式
*
* 你可以在以下链接中看到这些样式:
* https://github.com/tailwindcss/tailwindcss/blob/master/css/preflight.css
*/
@tailwind preflight;
/**
* 在这里你可以添加任何自定义的组件类; 任何你想要在实用类加载之前加载的东 西都可以定义在这里,以便他们仍然可以被实用类覆盖
*
* 例如:
*
* .btn { ... }
* .form-input { ... }
*
* 或者是否使用前置处理器:
*
* @import "components/buttons";
* @import "components/forms";
*/
/**
* 这个注入了Tailwind所有的实用类,它的产生依赖于你的配置文件
*/
@tailwind utilities;
/**
* 这里你可以添加任何自定义的实用类,他们不随着Tailwind开箱即用
*
* 例如 :
*
* .bg-pattern-graph-paper { ... }
* .skew-45 { ... }
*
* 或者是否使用前置处理器..
*
* @import "utilities/background-patterns";
* @import "utilities/skew-transforms";
*/
注意到在 @tailwind 导入的末尾有分号。删除它们。在这一点上,如果你正在使用 PHPStorm, 您可能会注意到,文件结构上遍布一堆红线, 不要担心,你可以忽略它们 或者找到一种方式将它们关闭。如果你找到了一种将它们关闭的方式,请写一篇教程告诉我;).
这是主 sass 文件,我们可以导入我们自定义的 sass 文件,同时在构建过程中可以把它们导出到 public/css 文件夹下面。在导入你自定义的 sass 文件的时候,一定要遵循导入的顺序,以避免你自定义的 css 被覆盖的问题。
构建过程
在构建过程中添加 Tailwind。 打开 webpack.mix.js 文件。 在顶部,右下方 let mix = require('laravel-mix'); 添加 let tailwindcss = require('tailwindcss');.
现在,在我们的 mix 中, 你可以像这样修改默认的 .sass 选项 (注意:如果你没有命名你的主 Sass 文件 index.sass 请确保在这更新它):
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/index.sass', 'public/css/app.css')
.options({
processCssUrls: false,
postCss: [ tailwindcss('./tailwind.js') ],
});
当前 Minx 依赖项存在未解决的问题。我们要将 Sass 和 Tailwind 一起使用,并且需要禁用 processCssUrls。更多信息请参考文档。 点击这里.
最后,运行 npm run prod 将 Tailwind 编译到 CSS 中。
结束
在你的模板文件,现在你可以添加 到你的 head 标签,并且开始使用 Tailwind 快速构建响应式 UI。
我的官方群点击此处。链接加入群聊【PHP/web/高级学习交流群】,一起学习,相互讨论。
群内已经有管理将知识体系整理好(源码,学习视频等资料),欢迎加群免费领取。
这套精品PHP教程绝不是市场上的那些妖艳贱货可比,作为web开发的佼佼者PHP并不逊色其他语言,加上Swoole后更加是如虎添翼!进军通信 、物联网行业开发百度地图、百度订单中心、虎牙、战旗TV等!寒冬裁员期过后正是各大企业扩大招人的时期,现在市场初级程序员泛滥,进阶中高级程序员绝对是各大企业急需的人才,这套学习教程适合那些1-5年以内的PHP开发者正处于瓶颈期,想要突破自己进阶中高级、架构师!名额有限,先到先得!
八重樱:腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)zhuanlan.zhihu.com
还有限时精品福利:
★腾讯高级PHP工程师笔试题目
★亿级PV高并发场景订单的处理
★laravel开发天猫商城组件服务
★战旗TV视频直播的架构项目实战
对PHP后端技术,对PHP架构技术感兴趣的朋友,我的官方群点击此处,一起学习,相互讨论。
群内已经有管理将知识体系整理好(源码,学习视频等资料),欢迎加群免费领取。
本课程深度对标腾讯T3-T4标准,贴身打造学习计划为web开发人员进阶中高级、架构师提升技术,为自己增值涨薪!加入BAT特训营还可以获得内推大厂名额以及GO语言学习权限!!!