我有一个奇怪的例子,像w-1/2
这样的类可以工作,但是w-1/3
不能,尽管being documented。
下面是我的代码:
<thead>
<tr>
<th class="px-5 py-3 border-b-2 border-gray-300 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider w-1/4">Invoice Number</th>
<th class="px-5 py-3 border-b-2 border-gray-300 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider w-1/4">Customer</th>
<th class="px-5 py-3 border-b-2 border-gray-300 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider w-1/4">Status</th>
<th class="px-5 py-3 border-b-2 border-gray-300 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider w-1/4">Amount Due</th>
<th class="px-5 py-3 border-b-2 border-gray-300 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider w-1/4">Actions</th>
</tr>
</thead>
字符串
我知道他们甚至没有被应用在开发工具上。
的数据
检查.next/static/css/
上的CSS文件,我也可以看到缺少该类。
的
我不知道该怎么办了.这里是相关的配置文件.
package.json
{
"name": "biller",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"js-cookie": "^3.0.5",
"next": "14.0.4",
"react": "^18",
"react-dom": "^18"
},
"devDependencies": {
"autoprefixer": "^10.0.1",
"eslint": "^8",
"eslint-config-next": "14.0.4",
"postcss": "^8",
"tailwindcss": "^3.3.0"
}
}
型
tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
'./src/context/**/*.{js,ts,jsx,tsx,mdx}',
'./src/utils/**/*.{js,ts,jsx,tsx,mdx}',
'./src/hooks/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {},
},
plugins: [],
};
型
我的src
文件夹中的所有路径都被覆盖了,所以不可能是它。
更新
我弄明白了其中的一部分。显然,这是因为我没有“硬编码”类在JSX上呈现的方式,而是这样做:
// "witdth" prop is optional. Can have values like "1/2", "1/3", "1/4", etc.
export const TH = ({ children, width }) => {
const widthClass = width ? `w-${width}` : '';
return (
<th
className={`px-5 py-3 border-b-2 border-gray-300 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider ${widthClass}`}
>
{children}
</th>
);
};
型
显然,它只会被包括,如果它是硬编码的。这糟透了...有没有办法防止这种情况?
2条答案
按热度按时间fdbelqdn1#
您可以考虑:
或
style
属性:vsnjm48y2#
问题
Tailwind在最终的CSS文件中只包含显式使用和可扩展的类。这背后的原因是尽可能减少文件大小。
Tailwind无法动态Map没有预先定义的类。
溶液
您可以使用安全工具来确保某些类始终包含在最终的CSS代码中。
tailwind.config.js
字符串
更多信息