IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 性能优化——按需引入element组件库 -> 正文阅读

[JavaScript知识库]性能优化——按需引入element组件库

1、问题

? ? ? ? 为了简化开发,提高开发效率,很多项目都会用到UI组件库。一方面提高开发速度,另一方面这些UI组件库也比较好看。但是,当项目打包运行时会发现打包体积偏大!? 这是为什么呢?是因为我们把所有的UI组件都导入项目中,而项目才使用整个UI组件库20%的组件,剩下80%就显得非常浪费。我们能不能将这用到的20%的组件引入到项目中,不用的组件则不引入到项目,从而减少打包体积,提升项目响应速度。? 答案是可以的!下面便是解决方法!

2、vue2+cli4实现手动按需引入组件

? ? ? ? (1)未引入elementUI前,通过chrome浏览器的网络查看包的体积大小

? ? ? ? ?(2)全局引入elementUI,通过chrome浏览器的网络查看包的体积大小

import Vue from 'vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI)

? ? ?

???????? ? (3)按需引入elementUI

? ? ? ? ? ? ? ? i. 安装按需引入所需的插件

npm install babel-plugin-component -D

? ? ? ? ? ? ? ? ii.找到配置文件babel.config.js

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

? ? ? ? ? ? ? ? iii. 新建plugins/index.js 文件,将需要的组件写入到Vue.use()中。为什么不直接写在main.js?因为main.js中包含很多的Vue.use()非常的不好阅读、不优雅!!

import Vue from 'vue';
import { Button, Select } from 'element-ui';
Vue.use(Button)
Vue.use(Select)

? ? ? ? ? ? ? ? iv.重启服务,配置文件的修改都要记得重启服务,否则配置文件不生效!

npm run serve

?

?

3、vue3+cli4实现自动按需引入组件库

? ? ? ? (1)未引入ElementPlus前,通过chrome浏览器的网络查看包的体积大小

? ? ? ? (2)全局引入ElementPlus,通过chrome浏览器的网络查看包的体积大小

import { createApp } from 'vue'
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')

? ? ? ? ?(3)按需引入ElementPlus,通过chrome浏览器的网络查看包的体积大小

? ? ? ? ? ? ? ? i. 安装按需引入插件

npm install -D unplugin-vue-components unplugin-auto-import

? ? ? ? ? ? ? ? ii.在项目文件夹下新建vue.config.js文件.vue.config.js与src同级

const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = {
    configureWebpack: {
        plugins: [
            AutoImport({
                resolvers: [ElementPlusResolver()],
            }),
            Components({
                resolvers: [ElementPlusResolver()],
            }),
        ],
    }
}

? ? ? ? ? ? ? ? iii. 重启服务,配置文件的修改记得重启服务

npm run serve

?

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:27:51  更:2022-07-05 23:29:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 11:39:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码