naive-ui.ts 583 B

12345678910111213141516171819
  1. import { setup } from '@css-render/vue3-ssr'
  2. export default defineNuxtPlugin((nuxtApp) => {
  3. const { collect } = setup(nuxtApp.vueApp)
  4. useServerHead({
  5. style: () => {
  6. const stylesString = collect()
  7. const stylesArray = stylesString.split(/<\/style>/g).filter(style => style)
  8. return stylesArray.map((styleString: string) => {
  9. const match = styleString.match(/<style cssr-id="([^"]*)">([\s\S]*)/)
  10. if (match) {
  11. const id = match[1]
  12. return { 'cssr-id': id, children: match[2] }
  13. }
  14. return {}
  15. })
  16. }
  17. })
  18. })