今天我学会了一个新技巧,让 TailwindCSS 扫描第三方 library,开心。
我以前是打包出 CSS,然后通过 import 引入,形如:
import { DataTable } from '@omakase-ui/react-table';
import '@omakase-ui/react-table/dist/index.css';
<DataTable columns={columns} data={data} sort={['name', 'asc']} />;
这样做有一个问题,打包以后的 index.css 已经把变量替换成具体的值了,没有办法通过 tailwind.config.js 覆盖。
新技巧:配置 tailwind.config.js
// tailwind.config.js
+ const path = require("path");
module.exports = {
content: [
"./src/**/*{js,ts,jsx,tsx}",
+ path.join(
+ require.resolve("@omakase-ui/react-table"),
+ "../**/*.{js,ts,jsx,tsx}"
+ ),
],
theme: {},
plugins: [],
};
就可以用 theme 中的内容覆盖第三方 library 的 Tailwind CSS 了。
其实 Tailwind CSS 官方文档有这个技巧,但是以前没注意,自己开发 Components Library 遇到瓶颈才去认真开文档,😂 😂 😂