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

vue设置自定义logo跟标题

准备 Logo 图片 将自定义的 Logo 图片(如 logo.png)放置在项目的 public文件夹下。

 使用环境变量设置 Logo 和标题(可选) 创建或修改 .env 文件 在项目根目录下创建或修改 .env 文件,添加以下内容:

VITE_APP_TITLE=JBoltAI 物料小助手
VITE_APP_LOGO=/logo.png

安装 vite-plugin-html 插件: 

npm install vite-plugin-html --save-dev  

然后在 vite.config.js 中配置插件:

import {defineConfig, loadEnv} from 'vite'
import vue from '@vitejs/plugin-vue'
import {resolve} from 'path'
import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'
import {createHtmlPlugin} from "vite-plugin-html";

const customerElements = [
    "chat-message",
    'chat-message-panel',
    'chat-opt-panel',
    'chat-tip',
    'msg-tip',
    'reference-item'
]

export default defineConfig(({command, mode}) =>{
    const env = loadEnv(mode, process.cwd(), 'VITE_')
    return {
        plugins: [
            vue({
                template: {
                    compilerOptions: {
                        isCustomElement: tag => customerElements.some(item => item == tag)
                    }
                }
            }),
            createSvgIconsPlugin({
                // 指定需要缓存的图标文件夹
                iconDirs: [resolve(process.cwd(), 'src/assets/svg-icon/local')],
                // 指定symbolId格式
                symbolId: `icon-[name]`,
                // 是否压缩
                svgoOptions: true
            }),
            createHtmlPlugin({
                inject: {
                    data: {
                        ...env
                    },
                },
            }),
        ],
        resolve: {
            alias: {
                '@': resolve(__dirname, 'src'),
                '~': resolve(__dirname)
            },
        },
        server: {
            host: '0.0.0.0',
            port: 3206,
            open: true
        },
    }
})

 修改 public/index.html 文件 HTML 

  <!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <link rel="icon" href="<%- VITE_APP_LOGO %>">
  <title><%- VITE_APP_TITLE %></title>
</head>
<body>
  <div id="app"></div>
</body>
</html>

相关文章:

  • 基于ISO 26262的汽车芯片认证流程解读
  • 使用PlotNeuralNet绘制ResNet50模型
  • 第十五次CCF-CSP认证(含C++源码)
  • VC6.0图文安装教程
  • NFT在艺术品市场的影响:面纵花魄还是一场夢?
  • 【读点论文】Chain Replication for Supporting High Throughput and Availability
  • PLY格式文件如何转换成3DTiles格式——使用GISBox软件实现高效转换
  • 【NPU 系列专栏 3.0 -- scale-out 和 scale-in 和 scale-up 和 scale-down
  • Vue学习汇总(JS长期更新版)
  • 【leetcode hot 100 22】括号生成
  • 算法2--两数相加
  • 【nnUnetv2】Code分析
  • C++算法代码-植物生长算法求解多目标车辆路径规划问题
  • 从“不敢买大”到“按墙选屏”,海信电视如何凭百吋重构客厅?
  • 【Linux 维测专栏 1 -- Hung Task 分析与验证】
  • 第七章 狄克斯特拉算法
  • Python MRO 与菱形继承问题详解
  • 什么是 “超参数” ?
  • Android第五次面试总结(HR面)
  • 每日一题力扣1920.基于排列构建数组c++
  • 外交部发言人就印巴局势升级答记者问
  • 韩德洙成为韩国执政党总统大选候选人
  • 新村回响:一周城市生活
  • 保利42.41亿元竞得上海杨浦东外滩一地块,成交楼面单价超8万元
  • 司法部:建立行政执法监督企业联系点,推行行政执法监督员制度
  • 一季度全国消协组织为消费者挽回经济损失23723万元