如何在umi中使用twin.macro
#12225
-
node:16.15.0
运行后报错 TypeError: Unable to determine current node version 请问该如何正确使用 twin.macro |
Beta Was this translation helpful? Give feedback.
Answered by
fz6m
Mar 24, 2024
Replies: 1 comment 1 reply
-
如果你要使用 这是我可以跑通的一个最小例子: pnpm add -D babel-plugin-twin babel-plugin-macros // .umirc.ts
// 打开 tailwind 功能,确保你有 `tailwind.config.js` ,这可以是 `max g taillwindcss` 生成出来的
tailwindcss: {},
extraBabelPlugins: [
'babel-plugin-twin',
'babel-plugin-macros',
],
mfsu: false, import tw from 'twin.macro'
const Component = tw.div`border hover:border-black`
<Component>1111</Component> 使用 styled-components 时,基于上文配置再添加以下配置: // .umirc.ts
styledComponents: {}, // package.json
"babelMacros": {
"twin": {
"preset": "styled-components",
}
} // src/twin.d.ts
// copy https://github.com/ben-rogerson/twin.examples/blob/master/webpack-styled-components-typescript/types/twin.d.ts import { styled } from 'twin.macro'
const Component = styled.div`
color: blue;
`; 由于 twin 默认 css in js 使用的是 emotion ,但 umi 只提供了 SC 的插件(在这个插件里帮你做了 SC 的 babel 插件配置和 context 注入),所以如果你需要用 emotion ,需要自己研究配一下 emotion 才能使用。 关于更多信息,可以参考 twin 的官方 examples 仓库。 |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
DemonSam
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
如果你要使用
twin.macro
,就得关掉mfsu: false
,因为 mfsu 不支持宏。这是我可以跑通的一个最小例子:
使用 styled-components 时,基于上文配置再添加以下配置: