3.2.10 • Published 4 days ago

@varlet/import-resolver v3.2.10

Weekly downloads
-
License
MIT
Repository
github
Last release
4 days ago

Varlet Auto Import Resolver

English | 简体中文

@varlet/import-resolverunplugin-vue-components 的一个解析器,用于实现 Varlet 按需引入。

特性

  • 支持 Vite, Webpack, Vue CLI, Rollup, esbuild
  • 支持自动引入组件对应的 CSS 样式
  • 支持 SSR(服务端渲染)

自动引入

通过插件 unplugin-vue-componentsunplugin-auto-import 实现组件自动按需导入,这也是我们最推荐的方式。

安装插件

# npm
npm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D

# yarn
yarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D

# pnpm
pnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D

Vite

// vite.config.js
import vue from '@vitejs/plugin-vue'
import components from 'unplugin-vue-components/vite'
import autoImport from 'unplugin-auto-import/vite'
import { VarletImportResolver } from '@varlet/import-resolver'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    vue(),
    components({
      resolvers: [VarletImportResolver()]
    }),
    autoImport({
      resolvers: [VarletImportResolver({ autoImport: true })]
    })
  ]
})

Vue CLI

// vue.config.js
const Components = require('unplugin-vue-components/webpack')
const AutoImport = require('unplugin-auto-import/webpack')
const { VarletImportResolver } = require('@varlet/import-resolver')

module.exports = {
  configureWebpack: {
    plugins: [
      Components.default({
        resolvers: [VarletImportResolver()]
      }),
      AutoImport.default({
        resolvers: [VarletImportResolver({ autoImport: true })]
      })
    ]
  }
}

Typescript 配置注意

为了得到良好的 IDE 语法高亮,请确保上述两个插件生成的类型声明文件被 typescript 识别,可在 tsconfig.json 中进行如下配置:

{
  "include": ["auto-imports.d.ts", "components.d.ts"]
}

手动引入

每一个组件都是一个 Vue插件,并由 组件逻辑样式文件 组成,手动引入的使用方式如下。

import App from './App.vue'
import { createApp } from 'vue'
import { Button } from '@varlet/ui'
import '@varlet/ui/es/button/style/index'

createApp(App).use(Button)

<script setup>
import { Button as VarButton } from '@varlet/ui'
import '@varlet/ui/es/button/style/index'
</script>

<template>
  <var-button>说你好</var-button>
</template>

手动引入和自动引入对比

对比-手动引入

<script setup>
import { Button as VarButton, Snackbar } from '@varlet/ui'
import '@varlet/ui/es/button/style/index'
import '@varlet/ui/es/snackbar/style/index'

function handleClick() {
  Snackbar('你好!')
}
</script>

<template>
  <var-button @click="handleClick">说你好</var-button>
</template>

对比-自动引入

<script setup>
function handleClick() {
  Snackbar('你好!')
}
</script>

<template>
  <var-button @click="handleClick">说你好</var-button>
</template>
3.2.10

6 days ago

3.2.9

13 days ago

3.2.8

16 days ago

3.2.7

21 days ago

3.2.6

28 days ago

3.2.5

1 month ago

3.2.4

1 month ago

3.2.3

2 months ago

3.2.2

2 months ago

3.2.1

2 months ago

3.2.0

2 months ago

3.1.4

2 months ago

3.1.3

2 months ago

3.1.2

2 months ago

3.1.1

2 months ago

3.1.0

2 months ago

3.0.7

3 months ago

3.0.6

3 months ago

3.0.5

3 months ago

3.0.4

3 months ago

3.0.3

3 months ago

3.0.2

3 months ago

3.0.1

3 months ago

3.0.0

3 months ago