可以支持prefix的类名转换吗? #320
-
例如,某个组件库使用了tailwindcss,为了防止与宿主项目tailwind类名冲突自定义了prefix,例如: // 组件库的 tailwind.config.js 配置
module.exports = {
...,
prefix: 'tw-'
} 将组件库接入到taro宿主项目中,必须在宿主项目中配置中也定义同样的prefix才能转换模板文件上的class名称,否则只是转换了css,这样就无法避免类名冲突。
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
其实这个现在就支持,因为 所以使用 const path = require('path')
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [path.resolve(__dirname, "./TailwindPrefix.tsx")],
prefix: 'my-',
corePlugins: {
preflight: false
}
} 然后创建一个额外的 @config "./tailwind.config.js";
// @tailwind base;
// @tailwind components;
@tailwind utilities; 然后这个目录下面,你有一个组件 import React from "react";
import { View } from '@tarojs/components'
import './TailwindPrefix.scss'
export const TailwindPrefix: React.FC = () => {
return <View className="my-text-[#11e331]">Tailwindcss Prefix </View>
} 这时候,新的上下文就能够从里面 然后从 转译结果: {className:"my-text-_h11e331_",children:"Tailwindcss Prefix "} .my-text-_h11e331_{--tw-text-opacity:1;color:rgb(17 227 49/var(--tw-text-opacity)) |
Beta Was this translation helpful? Give feedback.
-
尝试了一下,不知道是不是我的姿势不对... 它会针对组件库的css再生成一份css,并且css的值还不对(可能是需要把组件库的tailwind配置和项目内额外的tailwind配置保持一致) |
Beta Was this translation helpful? Give feedback.
其实这个现在就支持,因为
tailwindcss
实际上是可以多上下文的,详见 https://tailwindcss.com/docs/functions-and-directives#config所以使用
@config
就简单了,你创建一个额外的tailwind.config.js
文件,用来创建额外的上下文:然后创建一个额外的
scss
:然后这个目录下面,你有一个组件
TailwindPrefix.tsx
: