当前位置: 首页 > news >正文

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

自动导入

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

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

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

elements-ui

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

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

npm create vue@latestnpm 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) => {// 注册vuetifyapp.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)// 引入vuetifyapp.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"属性

相关文章:

  • 【C++11 之强类型枚举enum class/struct 基本结构及应用场景】了解在enum基础上增加了什么
  • 水系统阻力计算
  • git log 过滤
  • Redis的实战常用一、验证码登录(解决session共享问题)(思路、意识)
  • 数据仓库之离线数仓
  • Android系统 无法绑定1024以下端口问题
  • 力扣每日一题 6/22 字符串/贪心
  • 【太原理工大学】软件系统安全—分析题
  • 【自动驾驶技术】自动驾驶汽车AI芯片汇总——TESLA篇(FSD介绍)
  • 邻接矩阵实现
  • 【D3.js in Action 3 精译】关于本书
  • 天津媒体邀约,及媒体名单?
  • 微软修复Wi-Fi驱动高危漏洞 影响Windows所有版本 可通过局域网发起攻击
  • 结硬寨:联想服务器的向前之路
  • 与Vatee万腾平台同行,共创智能未来
  • [译]CSS 居中(Center)方法大合集
  • Cumulo 的 ClojureScript 模块已经成型
  • Laravel Telescope:优雅的应用调试工具
  • Linux各目录及每个目录的详细介绍
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Vim Clutch | 面向脚踏板编程……
  • vue.js框架原理浅析
  • 初识 beanstalkd
  • 浮动相关
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 观察者模式实现非直接耦合
  • 技术:超级实用的电脑小技巧
  • 将回调地狱按在地上摩擦的Promise
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 王永庆:技术创新改变教育未来
  • 我与Jetbrains的这些年
  • 用Python写一份独特的元宵节祝福
  • 由插件封装引出的一丢丢思考
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​用户画像从0到100的构建思路
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #laravel 通过手动安装依赖PHPExcel#
  • (12)目标检测_SSD基于pytorch搭建代码
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (5)STL算法之复制
  • (HAL库版)freeRTOS移植STMF103
  • (pytorch进阶之路)扩散概率模型
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (SpringBoot)第二章:Spring创建和使用
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (四)软件性能测试
  • . Flume面试题
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET程序员迈向卓越的必由之路