大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
Tailwind Elements 是 Tailwind CSS 的一个巨大的免费交互式组件集合,其包含以下内容:
本质上,Tailwind Elements 是一个插件,它通过许多交互式组件扩展了库的功能。
在一些动态组件(如下拉菜单或模式)中,开发者通过添加自定义 JavaScript。 但是,无需任何额外安装,所有必要的代码始终包含在示例中并支持复制到任何 Tailwind 项目 。
目前 Tailwind Elements 在 Github 上开源,有超过 12k 的 star、1.6k 的 fork、是一个优秀的前端开源项目。
为了满足新的模块化方法,Tailwind Elements 允许开发者使用 ES 和 UMD 格式。 这些格式的不同之处在于组件的初始化方式以及在不同情况下的使用方式。
如果应用程序:
那么 ES 格式最适合,否则 UMD 是最佳选择。
简而言之,就是初始化组件的方式。 为了允许捆绑器执行适当的 treeshaking,Tailwind Elements 已将组件初始化移至 initTE 方法。 UMD 格式的 Tailwind Elements 无需添加更多元素即可工作,但缺乏 treeshaking。 另一方面,ES 格式的 Tailwind Elements 允许将组件用作单独的模块,从而导致构建尺寸小得多。
要使用 initTE 方法,需要从 tw-element 导入它,与组件相同。 开发者可以提供第二个参数,该参数是一个带有要传递给 init 方法的选项的对象。 选项对象可以包含以下属性:
从项目 js 文件内的 tw-elements 包导入该方法,并使用要初始化的组件调用它。
import { Datepicker, Input, initTE } from 'tw-elements';initTE({ Datepicker, Input }, { allowReinits: true });
NPM 是使用 Tailwind Elements 和其他库的推荐方式。
确保已安装 Node.js。 为了验证这一点,请打开命令行并输入 node -v。 如果安装了 Node,可以在控制台中看到它的版本。
npm install tw-elements
module.exports = { content: [ './src/**/*.{html,js}', './node_modules/tw-elements/dist/js/**/*.js', ], plugins: [require('tw-elements/dist/plugin.cjs')], darkMode: 'class',};
<script type="text/javascript" src="../node_modules/tw-elements/dist/js/tw-elements.umd.min.js"></script>
现在,该库已准备好使用并可通过全局 te 变量进行访问。
注意:确保安装了 Node.js 版本 16.17.0 + / 18.1.0 +。 如果软件包管理器要求,请更新。 如果您预计 vite.config.js 会出现问题并且不想更新 npm,请尝试使用 4.3.9 版本的 vite。
Vite 是一个构建工具,旨在为现代 Web 项目提供更快、更精简的开发体验。 Tailwind 元素可以按照以下流程导入到 Vite 应用中:
1、新建一个 vite 项目,进入新建的目录。 选择 Vanilla 框架和 JavaScript 变体。 如果您已安装,则可以跳过此步骤。
npm create vite@latest my-projectcd my-project
npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p
/** @type {import('tailwindcss').Config} */module.exports = { content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], theme: { extend: {}, }, plugins: [],};
@tailwind base;@layer base { html { @apply text-neutral-800; } html.dark { @apply text-neutral-50; @apply bg-neutral-800; }}@tailwind components;@tailwind utilities;
<head> ... <link rel="stylesheet" href="style.css" /> ...</head>
npm run dev
npm install tw-elements
/** @type {import('tailwindcss').Config} */module.exports = { content: [ './index.html', './src/**/*.{html,js}', './node_modules/tw-elements/dist/js/**/*.js', ], plugins: [require('tw-elements/dist/plugin.cjs')], darkMode: 'class',};
import { Carousel, initTE } from "tw-elements";initTE({ Carousel }, true ); // set second parameter to true if you want to use a debugger
https://github.com/mdbootstrap/Tailwind-Elements/
https://tailwind-elements.com/docs/standard/getting-started/quick-start/
https://dev.to/cruip/25-places-where-you-can-get-free-tailwind-css-components-47lm