一个基于vite、lit、tailwindcss的脚手架
pnpm i
pnpm run dev
由于lit使用的是shadowDOM,样式是隔离的,所以默认不能使用tailwindcss的样式类
继承
底层使用了LitElement
类,在connectedCallback
的生命周期中 把全局的link
style标签复制到shadowDOM中。 且可以做到自动精简未使用的样式。constructible stylesheets
, 具体使用了lit-element的unsafeCss
和adoptStyles
来完成。
同时支持@layer component和@apply
- 更改全局的css文件后,HMR不工作,需要手动刷新
- 复制link标签对性能会有影响,后期考虑换成
constructible stylesheets
- twind 采用
constructible stylesheets
的方案,和tailwind兼容,在运行时构建样式表 - Lit不使用ShadowDOM。但是这样slot就不能用了