vue3自动导入---组件库elements-ui,vuetify以及scss样式的自动导入

news2024/11/26 17:25:30

自动导入

        我们在使用第三方组件库和css样式文件时,都需要进行引入,可以在单个组件内单独引用,也可以在全局引入或一次引入所有组件;但是,一般情况下我们都不会全部引入,这会是打包的结果变大,而且往往是不可能用上所有的组件,这个时候就需要自动按需引入

自动按需引入:在组件中用来哪个组件,就自动导入哪个文件

以下以vite举例,演示自动导入配置

elements-ui

快速开始 | Element Plus (element-plus.org)

新建一个vue项目,并引入elements-ui组件

npm create vue@latest

npm install element-plus --save

 再安装自动引入插件

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

可以在package.json中查看安装好的插件

之后在vite.config.js中配置自动导入的插件(注意添加的位置)

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



AutoImport({
   resolvers: [ElementPlusResolver()],
}),
Components({
   resolvers: [ElementPlusResolver()],
}),

然后就可以在vue组件中直接使用需要的ui组件

 可以看到没有做任何引入,直接就可以使用el-button

所以element-ui自动导入就两步:

  1. 安装自动引入插件
  2. 在vite.config.js中配置自动导入的插件

 vuetify

开始使用 Vuetify 3 — Vuetify (vuetifyjs.com)

vuetify也是一套ui组件,它的风格和组件的动画效果更加生动,但是vuetify的配置会相对麻烦,

安装引入vuetify和自动导入插件

npm i vuetify
npm install vite-plugin-vuetify --save

插件地址: vite-plugin-vuetify - npm (npmjs.com)

安装好vuetify和它的按需引入插件后,可以在package.json中查看,

之后我们来配置引入vuetify

在src下新建一个plugins目录,然后在新建两个js文件,

vuetify.js:

import 'vuetify/styles'
import { createVuetify } from 'vuetify'


const myCustomTheme = {// 自定义主题配置
  light: {
    
  },
  dark: {

  }
}

export default createVuetify({
  defaults: {
    global: {
      ripple: true,// 默认开启波纹效果
    },
    VSheet: {
      elevation: 4,//阴影深度
    },
  },
  theme: {
    defaultTheme: 'light', // 默认主题
    themes: {
      myCustomTheme, // 自定义主题
    }
  }
})

 index.js:

import vuetify from "./vuetify";

export const registerPlugins = (app) => {
  // 注册vuetify
  app.use(vuetify);
}

main.js:

import './assets/main.css'

import { createApp } from 'vue'
import App from './App.vue'

import { registerPlugins } from '@/plugins/index'


const app = createApp(App)

registerPlugins(app)// 引入vuetify

app.mount('#app')

到这里就成功引入了vuetify,

然后我们再使用前面下好的插件开启按需引入,vuetify的按需引入配置很简单,

导入插件然后设置autoImport:true即可

import vuetify from 'vite-plugin-vuetify'

vuetify({autoImport: true})

注意代码的位置,这样就成功实现了vuetify的按需引入

也是可以直接使用vuetify组件,而不需要手动导入

 同样vuetify的自动导入也是两步:

  1. 安装自动引入插件
  2. 在vite.config.js中配置

scss样式自动导入

安装scss

npm install sass

在src下新建一个style文件夹和一个scss文件

在vite.config.js中配置自动导入

 

css: {
    preprocessorOptions: {
      // 自动导入,无需手动引用 
      scss: {
        additionalData: `@use "@/style/main.scss" as *;`
      }
    }
  }

这样就想当于在每个组件的style标签中默认添加了这个导入--- `@use "@/style/main.scss" as *;`

可以看到可以在组件中直接使用scss变量,要注意使用scss应该在style标签上添加lang="scss"属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1848990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP 和 UDP 可以同时绑定相同的端口吗?

在网络编程中,TCP和UDP都可以绑定到同一个端口上进行通信。TCP和UDP是OSI模型中的传输层协议,它们分别使用不同的端口号来区分不同的应用程序或服务。 TCP(Transmission Control Protocol)提供了面向连接的、可靠的传输服务&…

【Mac】FxFactory 8 Pro for Mac(视觉特效处理包)及同类型软件介绍

软件介绍 FxFactory Pro 是一款功能强大的插件管理和创作工具,专为视频编辑器和特效艺术家设计,适用于 macOS 系统。它集成了大量的视频特效插件,并与多种主流视频编辑软件无缝兼容,如 Final Cut Pro、Premiere Pro、After Effec…

Unity 限时免费资源 - FANTASTIC万圣节资源包

Unity 资源 - FANTASTIC - Halloween Pack 万圣节包 前言资源包内容领取兑换码 前言 亲爱的 Unity 游戏开发者们,今天要给大家介绍一款限时免费的优质资源包 - FANTASTIC - Halloween Pack 万圣节资源包。 这个资源包为您的游戏创作带来了丰富的万圣节主题元素。其…

PCB行业迈入数字化新时代,智能工厂引领未来制造

在传统的PCB生产过程中,人工操作、纸质记录、经验判断等方式占据了主导地位。然而,这种方式不仅效率低下,而且容易出现误差,导致产品质量不稳定。同时,随着市场竞争的加剧,客户对产品的交期、质量、成本等方…

什么是局域网IP?

局域网IP(Local Area Network IP)指的是在局域网内使用的IP地址。局域网是指在某个地理区域内,由一组相互连接的计算机组成的小型网络,常见于家庭、学校、办公室等场所。局域网IP可以用来实现内网穿透,即在复杂的网络环…

八-工具包3-pandas数据清洗及相关性

数据清洗概述 数据清洗是对一些没有用的、不合理的数据进行处理的过程。 很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况,如果要使数据分析更加准确,就需要对这些没有用的数据进行处理。 样本数据: from io import Str…

新零售解决方案:线上线下融合,驱动现代商业新浪潮-亿发

在数字化和智能化的商业环境中,新零售正在迅速改变传统的商业模式。作为新时代的零售解决方案,新零售通过线上线下深度结合,为企业提供了更灵活、高效的运营方式。本文将探讨新零售的四大特征,并详细描述其在中小企业中的应用&…

MySQL的DML语句

文章目录 ☃️概述☃️DML☃️添加数据☃️更新和删除数据☃️DML的重要性 ☃️概述 MySQL 通用语法分类 ● DDL: 数据定义语言,用来 定义数据库对象(数据库、表、字段) ● DML: 数据操作语言,用来对数据库表中的数据进行增删改 …

深入解析Transformer架构:大模型核心技术揭秘

在大模型发展历程中,有两个比较重要点:第一,Transformer 架构。它是模型的底座,但 Transformer 不等于大模型,但大模型的架构可以基于 Transformer;第二,GPT。严格意义上讲,GPT 可能…

MySQL数据备份操作步骤

常见的数据备份命令 备份命令备份速度恢复速度介绍功能适用场景lvm2快照快快一般、支持几乎热备、速度快一般中小型数据量的备份cp快快物理备份、灵活性低很弱少量数据备份xtrabackup较快较快实现innodb热备、对存储引擎有要求强大较大规模的备份mysqldump慢慢逻辑备份、适用所…

易管理工厂设备日志采集工具

免费试用下载: Gitee下载 最新版本 优势: A. 开箱即用. 解压直接运行.不需额外安装. B. 批管理设备. 设备配置均在后台管理. C. 无人值守 客户端自启动,自更新. D. 稳定安全. 架构简单,内存占用小,通过授权访问.

解决无限debugger总结

基本工具 1: Notepad(修改保存) ReRes(插件替换) ReRes安装教程 2: Fidder 编程猫 hook 情况 fidder基本:fidder插件使用hook构造器, 例如下 //配合编程猫专用工具进行hook (function() { use strict//过瑞数 debuger var eval_ window.eval; window.eval_ …

2007年-2021年 281个地级市-绿色创新效率相关数据收集

绿色创新效率是一个重要的概念,它涉及到在生产和消费过程中通过技术创新和管理创新来提高资源的利用效率,降低生产成本,减少对环境的负面影响,进而促进经济的可持续发展。这种效率的提升对企业、环境和社会都有积极的影响&#xf…

ffmpeg+nginx+video实现rtsp流转hls流,web页面播放

项目场景: 最近调试海康摄像头需要将rtsp流在html页面播放,因为不想去折腾推拉流,所以我选择ffmpeg转hls流,nginx转发,html直接访问就好了 1.首先要下载nginx和ffmpeg 附上下载地址: nginx nginx news ffmpeg htt…

昇思25天学习打卡营第3天|数据集 Dataset

1. 学习内容复盘 集数据 什么是数据集 数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实…

如何快速熟悉新公司产品

业务流程图 刚刚入职一家新公司,一般肯定是想快速提现自己的价值,让公司知道招聘到自己真是一件赚到的事情,但是往往我们都是接着上个产品的锅,不知道从何下手。 如果之前了解一点业务还好说,但是大部分时候我们做产品…

VB.net实战(VSTO):VSTOwpf体验框架打包教程

如果是考虑到Wps用户较多,就不建议采用侧边栏的形式 只是个体验框架,界面未作美化,office的用户可以用任意一种窗体,喜欢那个界面就写那个界面,wps的侧边栏只能弹出一部分,每次需要的手动拖动。 打包了案例…

力扣SQL50 项目员工 I ROUND AVG

Problem: 1075. 项目员工 I 👨‍🏫 参考题解 Code select project_id,ROUND(AVG(e.experience_years),2) as average_years FROMproject as p LEFT JOINemployee as e ONp.employee_id e.employee_id GROUP BYp.project_id;

智慧公厕系统厂家的核心技术与光明源应用案例

随着城市化进程的加快和智慧城市建设的推进,智慧公厕系统在提升公共服务质量和用户体验方面发挥了重要作用。智慧公厕系统厂家的核心技术是确保这一系统高效运转和用户满意度的关键。以下将介绍智慧公厕系统厂家的核心技术,并通过光明源的应用案例展示其…

【网络安全的神秘世界】docker启动失败?看我如何成功启动

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 🙋‍♂️问题描述 关闭docker后再启动就发现启动失败了 错误信息:Job for docker.service failed b…