自动导入element-plus的图标库icon。

1、安装依赖

npm install @iconify-json/ep@^1.1.14 --save-dev
npm install unplugin-icons@^0.18.2

2、在vite.config.js中引入配置

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'

//引入图标icon
import Icons from 'unplugin-icons/vite'
//引入图标解析器
import IconsResolver from 'unplugin-icons/resolver'
//引入自动导入vue相关函数Api插件和按需导入组件插件
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'

//引入UI库element-plus
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

//配置引用路径,使用@代表src目录
import path from 'path'
//__dirname是node.js中的一个全局变量,它指向当前执行脚本所在的目录(当前文件所在的文件夹)
//path.resolve()方法会将路径或路径片段的序列解析为绝对路径
const pathSrc = path.resolve(__dirname, 'src')

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd())   //获取环境变量
  return {
    //配置别名
    resolve: {
      alias: {
        '@': pathSrc
      }
    },
    plugins: [
      //vue插件,官方自带识别.vue文件
      vue(),
      //自动导入vue相关函数Api
      AutoImport({
         //自动导入vue相关函数Api,如ref、toRef等
        imports: ['vue'], 
        //按需自动导入element-plus组件必须添加importStyle: "sass",不添加将会导致使用ElMessage,ElNotification等组件时默认的主题色(蓝色)会覆盖自定义的主题色
        resolvers: [ElementPlusResolver({ importStyle: "sass" }),
        // 自动导入图标组件
        IconsResolver({ prefix: 'Icon', })],
      }),
      //按需导入组件插件element-plus
      Components({
        // 自动导入 src/components 目录下的 Vue 组件
        dirs: ["src/components"], 
        //按需自动导入element-plus组件,配置elementPlus采用sass样式配色系统,修改主题色添加这一行importStyle: "sass",使用预处理样式
        resolvers: [ElementPlusResolver({ importStyle: "sass" }),
        // 自动注册图标组件
        IconsResolver({
          enabledCollections: ['ep'],  //在使用icon图标是不能直接使用,比如<Edit />,需要写成<i-ep-edit />
        })],
      }),
      Icons({
        autoInstall: true,
      }),
    ],
    //配置scss全局变量
    css: {
      preprocessorOptions: {
        scss: {
          javascriptEnabled: true,
          // additionalData: `@use "@/styles/variables.scss" as *;`
          additionalData: `@use "@/styles/element-plus/index.scss" as *;`,  //自定义主题色及其自定义样式变量
        }
      }
    },
    //配置前端服务器
    server: {
      port: Number(env.VITE_APP_PORT),  //启动端口,从.env文件中获取,即VITE_APP_PORT(5555)
      open: false,  //是否自动打开浏览器
      hmr: true,   // 热更新是否开启
      proxy: {     //前端服务器内置的代理服务器(如果是后端配置了CORS跨域,则不需要配置代理服务器)
        [env.VITE_BASE_URL_API]: {       //替换的为.env文件中的VITE_BASE_URL_API,即/api
          //http://127.0.0.1:8002/login
          //现在浏览器传递地址为:http://127.0.0.1:8002/api/login
          target: env.VITE_SERVER_PATH,  //目标服务器地址(后端接口服务器地址),从.env文件中获取,即VITE_SERVER_PATH (http://127.0.0.1:8002)
          changeOrigin: true,  //是否开启跨域的一些配置
          rewrite: (path) => path.replace(new RegExp("^"+env.VITE_BASE_URL_API),"")  //重写路径,去掉/api,替换的为.env文件中的VITE_BASE_URL_API,即/api,替换成空字符串,请求路径中就没有/api了
        }
      }
    }
  }
})

### Element Plus 图标库的使用方法和示例 Element Plus 提供了一套丰富的图标库,这些图标可以方便地集成到基于 Vue.js 的项目中。通过引入 `el-icon` 组件并指定相应的图标名称,即可轻松使用内置图标。 #### 安装与配置 为了使用图标的组件,首先需要安装 Element Plus: ```bash npm install element-plus --save ``` 接着,在项目的入口文件(通常是 main.js 或 setup 文件)中全局注册 Element Plus 和样式表: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; const app = createApp(App); app.use(ElementPlus); app.mount('#app'); ``` #### 使用图标 在模板内可以直接调用 `<el-icon>` 并配合具体的图标标签来显示所需图形符号[^1]。例如要展示一个搜索图标,则写法如下所示: ```html <template> <div class="example"> <!-- Search Icon --> <el-icon><Search /></el-icon> <!-- Other Icons Can Be Used Similarly --> </div> </template> <script> // Import specific icons as needed. import { Search, Edit, Check, Message, Setting } from '@element-plus/icons-vue'; export default { components: { Search, Edit, Check, Message, Setting, }, }; </script> ``` 上述代码片段展示了如何导入特定的图标并通过 `<el-icon>` 来渲染它们。除了 `Search`, 还有其他多种类型的图标可供选择,比如编辑(Edit)、确认(Check)、消息(Message)以及设置(Setting)。 对于动态加载或按需加载的情况,可以根据实际需求调整 import 语句中的内容,从而优化应用性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值