unplugin-element-plus
This repo is for element-plus related unplugin. Thanks @antfu.
Features
- π On-demand import style for Element Plus.
- β‘οΈ Supports Vite, Webpack, Vue CLI, Rollup and more, powered by unplugin.
Installation
npm i unplugin-element-plus -D
Vite
// vite.config.ts
import ElementPlus from 'unplugin-element-plus/vite'
export default {
plugins: [
ElementPlus({
// options
}),
],
}
Rollup
// rollup.config.js
import ElementPlus from 'unplugin-element-plus/rollup'
export default {
plugins: [
ElementPlus({
// options
}),
],
}
Webpack
// webpack.config.js
module.exports = {
/* ... */
plugins: [
require('unplugin-element-plus/webpack')({
// options
}),
],
}
Vue CLI
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [
require('unplugin-element-plus/webpack')({
// options
}),
],
},
}
Usage
It will automatically transform:
import { ElButton } from 'element-plus'
// β β β β β β
import { ElButton } from 'element-plus'
import 'element-plus/es/components/button/style/css'
Options
useSource
type UseSource = boolean
default: false
// useSource: false
import { ElButton } from 'element-plus'
// β β β β β β
import { ElButton } from 'element-plus'
import 'element-plus/es/components/button/style/css'
// useSource: true
import { ElButton } from 'element-plus'
// β β β β β β
import { ElButton } from 'element-plus'
import 'element-plus/es/components/button/style/index'
lib
Normally you wouldn't use this option but as a general option we exposed it anyway. When using this your bundle structure should be the same as ElementPlus. See unpkg.com for more information.
type Lib = string
default: 'element-plus'
// lib: 'other-lib'
import { ElButton } from 'other-lib'
// β β β β β β
import { ElButton } from 'other-lib'
import 'other-lib/es/components/button/style/css'
format
type Format = 'esm' | 'cjs'
default: 'esm'
esm
for element-plus/es/components/*
cjs
for element-plus/lib/components/*
/es
for ES Module/lib
for CommonJS
This option is for which format to use
// format: 'cjs'
import { ElButton } from 'element-plus'
// β β β β β β
import { ElButton } from 'element-plus'
import 'element-plus/lib/components/button/style/css'
prefix
type Prefix = string
// prefix = Al
import { AlButton } from 'xx-lib'