首页  >  问答  >  正文

将 Vuetify 添加到 Astro:分步指南

使用 Vue 集成时,我在将 Vuetify 3 添加到 Astro 时遇到问题。 这是我到目前为止所拥有的:

import { defineConfig } from 'astro/config';

import vue from '@astrojs/vue';

import vuetify from 'vite-plugin-vuetify';

// https://astro.build/config
export default defineConfig({
  integrations: [vue()],
  vite: {
    ssr: {
      noExternal: ['vuetify'],
    },
    plugins: [vuetify()],
  },
});

我收到 'Vuetify 插件必须在 vue 插件之后加载' 错误。 不知道如何从这里继续前进。我愿意接受所有建议。

P粉676821490P粉676821490305 天前577

全部回复(1)我来回复

  • P粉964682904

    P粉9646829042023-12-20 00:45:06

    Astro 集成中的配置 ( @astrojs/vue 在本例中)被附加到您自己的 Astro 配置中,因此 vuetify 插件将首先在此处注册。

    解决方法是定义您自己的 Astro 集成,调用 < a href="https://docs.astro.build/en/reference/integrations-reference/#updateconfig-option" rel="nofollow noreferrer">updateConfig() 添加验证:

    // astro.config.mjs
    import vuetifyPlugin from 'vite-plugin-vuetify';
    
    /**
     * Vuetify integration for Astro
     * @param {import('astro/config').Options} options
     * @returns {import('astro/config').AstroIntegration}
     */
    function vuetify(options) {
      return {
        name: 'my-astro-vuetify-integration',
        hooks: {
          'astro:config:setup': ({ updateConfig }) => {
            updateConfig({
              vite: {
                ssr: {
                  noExternal: ['vuetify'],
                },
                plugins: [vuetifyPlugin()],
              },
            });
          },
        },
      }
    }
    

    并在 Vue 集成之后安装它:

    // astro.config.mjs
    export default defineConfig({
      integrations: [
        vue(),
        vuetify(),
      ],
    })
    

    回复
    0
  • 取消回复