vue3+vite路由中使用element自动导入图标

这篇具有很好参考价值的文章主要介绍了vue3+vite路由中使用element自动导入图标。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue3+vite路由中使用element自动导入图标,前端,vue.js,javascript

1.package.json

"dependencies": {
    "@element-plus/icons-vue": "^2.1.0",
    "element-plus": "^2.3.7",
},
"devDependencies": {
    "@iconify-json/ep": "^1.1.11",
    "unplugin-auto-import": "^0.16.4",
    "unplugin-icons": "^0.16.3",
    "unplugin-vue-components": "^0.25.1",
}

vue3+vite路由中使用element自动导入图标,前端,vue.js,javascript

2.vite.config.js

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite' // 自动导入
import Components from 'unplugin-vue-components/vite' // 组件注册
import { ElementPlusResolver, NaiveUiResolver } from 'unplugin-vue-components/resolvers'

// 自动导入element图标
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'

import { resolve } from 'path'

export default defineConfig(({ command, mode }) => {
  const env = loadEnv(mode, process.cwd(), '')

  return {
    base: './',
    plugins: [
      vue(),
      AutoImport({
        // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
        imports: ['vue'],
        resolvers: [
          // 自动导入element plus相关函数(带样式)
          ElementPlusResolver(),
          // 自动导入图标组件
          IconsResolver({
            prefix: 'Icon',
            enabledCollections: ['ep']
          })
        ]
      }),
      Components({
        // 要搜索组件的目录的相对路径。默认 ['src/components']
        dirs: ['src'],
        // 组件的有效文件扩展名。
        extensions: ['vue'],
        // 搜索子目录
        deep: true,
        resolvers: [
          // 自动导入element plus组件
          ElementPlusResolver(),
          NaiveUiResolver(),
          // 自动注册图标组件
          IconsResolver({
            prefix: 'i',
            enabledCollections: ['ep']
          })
        ]
      }),
      Icons({
        compiler: 'vue3',
        autoInstall: true
      })
    ],
    resolve: {
      // 配置路径别名
      alias: {
        '@': resolve(__dirname, './src'),
        'api': resolve(__dirname, './src/api'),
        'views': resolve(__dirname, './src/views'),
        'utils': resolve(__dirname, './src/utils'),
        'comp': resolve(__dirname, './src/components'),
        'assets': resolve(__dirname, './src/assets')
      },
      extensions: ['.js', '.ts', '.vue', '.json', '.less', '.css']
    },
    define: {
      'process.env': {
        VITE_APP_BASE_API: env.VITE_APP_BASE_API
      }
    },
    server: {
      host: '0.0.0.0',
      port: 3000, // 端口
      open: false, // 启动项目后打开浏览器
      hot: true,
      overlay: {
        warning: false,
        error: true
      },
      proxy: {
        [env.VITE_APP_BASE_API]: {
          target: 'https://devestate.yyepark.com/',
          ws: true,
          changeOrigin: true,
          secure: false,
          rewrite: (path) => path.replace('^' + [env.VITE_APP_BASE_API], '')
        }
      }
    }
  }
})

3.使用图标前面加上:<i-ep-xxx />

<el-icon><i-ep-CloseBold /></el-icon>

vue3+vite路由中使用element自动导入图标,前端,vue.js,javascript

 4.路由中使用

<el-icon v-if="childItem.meta && childItem.meta.icon">

        <component :is="childItem.meta.icon" />

</el-icon>

import { createRouter, createWebHashHistory } from 'vue-router'
import Layout from '../layout/index.vue'
import { markRaw } from 'vue'

export const asyncRoutes = [
  {
    path: '/',
    name: 'HomePage',
    component: Layout,
    redirect: '/home',
    children: [
      {
        path: 'home',
        name: 'Home',
        component: () => import('@/views/Home/index.vue'),
        meta: { title: '首页', icon: markRaw(IconEpMenu) } //markRaw
      }
    ]
  }
]vue3+vite路由中使用element自动导入图标,前端,vue.js,javascript文章来源地址https://www.toymoban.com/news/detail-612664.html

到了这里,关于vue3+vite路由中使用element自动导入图标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3+Vite项目按需自动导入配置及常见问题修复

    解决的问题:避免在每个vue组件中都重复性的去声明ref,reactive等。如下: 1.1 配置 unplugin-auto-import 具体配置: 安装vite插件: unplugin-auto-import 1.2 可能遇到ts,eslint不识别而导入报错的问题 1、typescript 报错: \\\'reactive\\\' is not defined. 原因 :TS未识别到vue api,没有相应的模块声明文件

    2024年02月16日
    浏览(55)
  • vue3+vant自动导入+pina+vite+js+pnpm搭建项目框架

    要搭建一个使用Vue 3、Vant组件库、Pina状态管理、Vite作为构建工具、JavaScript语言、pnpm作为包管理工具的项目框架,可以按照以下步骤进行操作: 这将生成一个 package.json 文件。 至此,你已经搭建好了一个使用Vue 3、Vant组件库、Pina状态管理、Vite作为构建工具、JavaScript语言、

    2024年04月14日
    浏览(49)
  • 【vue3+vite】使用vite-plugin-svg-icons插件显示本地svg图标

    使用vite-plugin-svg-icons插件显示本地svg图标 1.安装vite-plugin-svg-icons插件 2.使用vite-plugin-svg-icons插件 2.1 在项目根目录查找vite.config.js,进行配置 2.2 vite-plugin-svg-icons插件引入在main.js中 2.3 svg图标放入对应路径~~~~~图标路径与iconDirs设置得路径一致 项目中使用示例: //menu.icon是路径里面

    2024年02月12日
    浏览(44)
  • vue3 vue.config.js配置Element-plus组件和Icon图标实现按需自动引入

    打包时,报警告,提示包太大会影响性能 在页面直接使用,直接使用 SVG 图标,当做一般的 svg 使用 icon使用时需要用以下两种方式方式: 如果用在el-button里面的icon属性上使用,用SVG方式无效,还是需要引入再使用(不知道有没有其他方式) 注意: 使用 :icon=\\\"Edit\\\" 则icon的大

    2024年02月06日
    浏览(67)
  • vue3+vite+ts 通过svg-sprite-loader 插件使用自定义图标

    第一步 首先下载svg插件和fs模块; 后续需要用到 第二步新建文件夹和文件 将下载好的svg文件放入新建好的svg文件夹中 index.vue 代码 这里是创建一个 svg-icon / 组件 index.ts 代码 第三步 打开main.ts 将创建好的 svg-icon / 组件注入到全局组件 第四步 在根目录打开vite.config.ts ** 如果引

    2024年02月15日
    浏览(43)
  • 使用 Vite + Vue3 + Element-Plus + Pinia + Ts 搭建 Vue3 项目

    Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。 首先 npm 输入: Project name :项目名称 Select a framework :选择一个框架 Select a variant :选择 ts 或者 js 输入项目名称后选择 vue 选择

    2024年02月09日
    浏览(59)
  • vue3.x结合element-plus如何使用icon图标

     基于 Vue 3的Element Plus如何使用icon图标 首先注意Element Plus版本:官网如图所示,  基于vue3的具体如何使用: 参考官网文档: 1.首先选择一种方式安装  2.然后全局注册图标 在main.js或main.ts文件中引入:  3.然后就可以使用了,具体实例如下: 使用方式1:输入框中使用 输入框

    2023年04月08日
    浏览(51)
  • vite + vue + ts 自动按需导入 Element Plus组件,并如何解决按需引入后ElMessage与ElLoading 的问题(找不到名称“ElMessage”问题。)

    按需引入后ElMessage与ElLoading 的问题,两步优雅解决找不到名称“ElMessage”问题。不需要导入npm包,不需要下载任何东西,只要五行代码 目录 1、添加Element Plus组件库 1.2、下载 1.2、自动导入(官方推荐) 2、按需引入后ElMessage与ElLoading 的问题 2.1、解决问题 2.2、下面是分析原因

    2024年02月06日
    浏览(67)
  • rouyi-vue-pro+vue3+vite4+Element Plus项目中使用生成Vue2+Element UI标准模板

    运行一个pro-vue3的前端项目,以及后端服务 在基础设施-代码生成模块中选择某张数据库表导入,并编辑生成信息,前端类型:Vue2+Element UI标准模板 在vue3项目中创建一个vue文件 1.4 srcapitest.js Vue2+Element UI标准模板生成的前端封装好的request请求接口对象 1.5 报错 问题 :在 更新

    2024年02月03日
    浏览(50)
  • electron+vue3全家桶+vite项目搭建【24】设置应用图标,打包文件的图标

    demo项目地址 在electron中,我们可以通过electron-builder的配置文件来设置打包后的应用图标 因为mac环境下的图标需要特殊格式,这里我们可以利用electron-icon-builder进行配置 1.引入相关依赖 加入安装过程中卡在了 phantomjs-2.1.1-windows.zip的下载,可以直接去github上下载 这里我也放一

    2024年02月17日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包