nuxt3 Element-plus 自动导入

1,559 阅读1分钟
  • 安装
pnpm i  @daotl/unplugin-vue-components unplugin-auto-import unplugin-vue-components -D
  • 使用
import { ElementPlusResolver } from '@daotl/unplugin-vue-components/resolvers'

const lifecycle = process.env.npm_lifecycle_event

const autoImportOpts = {
  // global imports to register
  imports: [
    'pinia',
    {},
  ],
  resolvers: [ElementPlusResolver({ nuxt: true, ssr: true })],
  dts: './auto-imports.d.ts',
}
const vueComponentsOpts = {
  resolvers: [ElementPlusResolver({ nuxt: true, ssr: true })],
  dts: './vue-components.d.ts',
}

export default defineNuxtConfig({
    modules: [
        ['unplugin-auto-import/nuxt', autoImportOpts],
        ['unplugin-vue-components/nuxt', vueComponentsOpts],
    ],
    build: {
      transpile: [
          ...(lifecycle === 'build' || lifecycle === 'generate'
            ? ['element-plus']
            : []),
          // 'element-plus/es',
       ]
    }
})