基于 Vite + Vue3 项目中三种引入 Element Plus 方式的对照说明

5 篇文章 0 订阅
有时候打包vue代码后,部署到服务器,发现部门页面不显示,那有可能是 element-plus 没有打进包里,比如:echarts组件显示了

这里可能得原因就是 自动导入包失败了,即本文的方式三失效了。

方式一:手动完整引入(不推荐)

只需要在 main.js 里面引入并配置即可:

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// 引入组件和样式
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)

// 注册
app.use(ElementPlus)
app.mount('#app')

这样做的好处是简单方便,但问题也很明显,那就是打出来的包是包含了所有组件源代码和样式代码的,导致 chunk 包的体积很大,而且相应的打包时间也就会很长,显然对于项目优化来说是很不友好的,所以这是最不推荐的引入方式,实际打包后的文件体积如下:
在这里插入图片描述

方式二:手动按需引入(相对推荐)

先在 main.js 里面进行配置:

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import { ElButton, ElAlert } from 'element-plus'

const app = createApp(App)

app.use(ElButton)
app.mount('#app')

还需要先安装插件:

npm i unplugin-element-plus -D
  • 1

然后在 vite.config.js 里面配置:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ElementPlus from 'unplugin-element-plus/vite'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    // unplugin-element-plus 用于手动按需引入组件时,自动引入该组件的样式代码
    ElementPlus()
  ],
})

手动按需引用,打出来的包是只包含了使用了的组件的源代码,其中 ElAlert 只 import 而未使用也会被 tree-shaking 清理掉。配合使用 unplugin-element-plus 这个插件可以做到自动引入组件的样式代码。这种方式的好处是相对简单方便,打出来的包的体积是根据使用了的组件的数量来的,所以使用数量越少相应的体积也就越小,打包时间也会更短,当然每次新增组件引用时都需要在 main.js 里面配置一下会稍显繁杂,相对来说这是比较推荐的。实际打包后的文件体积如下:
在这里插入图片描述

方式三:自动按需引入(最推荐)

需要先安装插件:

npm i unplugin-auto-import unplugin-vue-components -D
  • 1

然后在 vite.config.js 里面配置:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()]
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

只需要上述配置即可,不需要在 main.js 里面做任何其它配置了,使用 unplugin-auto-import 和 unplugin-vue-components 会自动在编译过程中将我们在业务代码里面使用到的组件以按需引入的方式进行引入,包括了组件代码和样式代码,这样的方式对开发者来说是最方便的,同时也保证了代码体积和打包时间上的优化处理,总的来说这是最推荐的方式。实际打包后的文件体积如下:
在这里插入图片描述

创建 Vite + Vue3 + Element Plus 项目的步骤如下: 1. 确保已经安装了 Node.js 和 npm。 2. 打开终端或命令行工具,创建一个新的项目文件夹,并进入该文件夹。 3. 执行以下命令初始化一个新的 Vue 项目: ``` npm init @vitejs/app ``` 4. 在初始化过程,你会被要求选择一个模板。选择 Vue 3 并按回车键确认。 5. 完成初始化后,进入项目文件夹,并安装 Element Plus: ``` cd your-project-name npm install element-plus ``` 6. 创建一个新的 Vue 组件,例如 `HelloWorld.vue`,并在其引入 Element Plus 组件: ```vue <template> <div> <el-button type="primary">Hello World</el-button> </div> </template> <script> import { ElButton } from 'element-plus'; export default { components: { ElButton } } </script> ``` 7. 在 `main.js` 引入 Element Plus 的样式和组件库: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import 'element-plus/dist/index.css'; createApp(App).mount('#app'); ``` 8. 在 `App.vue` 使用你刚刚创建的组件: ```vue <template> <div id="app"> <HelloWorld /> </div> </template> <script> import HelloWorld from './components/HelloWorld.vue'; export default { components: { HelloWorld } } </script> ``` 9. 运行以下命令启动开发服务器: ``` npm run dev ``` 10. 打开浏览器,在地址栏输入 `http://localhost:3000`,即可看到运行Vite + Vue3 + Element Plus 项目。 这样,你就成功创建了一个 Vite + Vue3 + Element Plus 项目。你可以根据自己的需求继续开发和定制化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值