v1 版本插件常见问题,使用最新版本插件无须参考
我在 js
里写了 tailwindcss
的任意值,为什么没有生效?
详见 issue#28
A: 因为这个插件,主要是针对, wxss
,wxml
和 jsx
进行转义的,js
里编写的 string
是不转义的。如果你有这样的需求可以这么写:
import { replaceJs } from 'weapp-tailwindcss-webpack-plugin/replace'
const cardsColor = reactive([
replaceJs('bg-[#4268EA] shadow-indigo-100'),
replaceJs('bg-[#123456] shadow-blue-100')
])
你不用担心把代码都打进来导致体积过大,我在 'weapp-tailwindcss-webpack-plugin/replace' 中,只暴露了2个方法,代码体积 1k左右,esm格式。
replaceJs 跨端注意点
就是在常见问题中的 replaceJs
这个方法原先是为小程序平台设计的,假如你一份代码,需要同时编译到小程序和 h5
平台,可以参考如下的封装:
// util.js
import { replaceJs } from 'weapp-tailwindcss-webpack-plugin/replace'
// uni-app 的条件编译写法
export function replaceClass(str) {
// #ifdef H5
return str
// #endif
return replaceJs(str)
}
// or 环境变量判断
export function replaceClass(str) {
// 需要根据自己目标平台自定义,这里仅仅给一些思路
if(process.env.UNI_PLATFORM === 'h5'){
return str
}
return replaceJs(str)
}
// then other.js
const cardsColor = reactive([
replaceClass('bg-[#4268EA] shadow-indigo-100'),
replaceClass('bg-[#123456] shadow-blue-100')
])
这样就能在多端都生效了。