当前位置: 代码网 > it编程>前端脚本>Vue.js > vue3自动导入---组件库elements-ui,vuetify以及scss样式的自动导入

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

2024年08月06日 Vue.js 我要评论
我们在使用第三方组件库和css样式文件时,都需要进行引入,可以在单个组件内单独引用,也可以在全局引入或一次引入所有组件;但是,一般情况下我们都不会全部引入,这会是打包的结果变大,而且往往是不可能用上所有的组件,这个时候就需要。可以看到可以在组件中直接使用scss变量,要注意使用scss应该在style标签上添加lang="scss"属性。vuetify也是一套ui组件,它的风格和组件的动画效果更加生动,但是vuetify的配置会相对麻烦,然后就可以在vue组件中直接使用需要的ui组件。

自动导入

        我们在使用第三方组件库和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自动导入就两步:

 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的自动导入也是两步:

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"属性

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com