vue项目 设置浏览器地址栏图标及名称

在vue项目中,怎样设置浏览器tab图标及名称呢?

方案一

1.静态配置vue项目ico

1.1将需要展示的ico放到项目文件中


1.2在项目根目录public文件中的index.html添加如下代码

html 复制代码
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />

二.动态配置网站ico

javascript 复制代码
//动态设置就在拿到数据之后调用这个方法
getCreate(url){
	 var link= document.querySelector("link[rel*='icon']") || document.createElement('link');
	 link.type = 'image/x-icon';
	 link.rel = 'shortcut icon';
	 link.href = 'ico文件的url' 
	 document.getElementsByTagName('head')[0].appendChild(link);
},

方案二

项目根目录下 没有 public文件夹 时,

我们来看vue项目的目录结构,根目录下有一个index.html,这个就相当于我们普通项目中的各个html页面文件,所以设置方法就是在index.htmlhead标签中添加link标签

在这里要注意的是图标文件的位置,不能放到src里,这样的路径会让浏览器找不到。网页把根域名作为相对路径的根目录了,然而我们文件的路径是相对于项目文件的根目录的,因此就找不到了。

因此,图片一类的静态文件,应该放在这个static文件夹下,这个文件夹下的文件(夹)会按照原本的结构放在网站根目录下。这时我们再去使用/static绝对路径,这样就可以访问这些静态文件了。所以推荐将项目中的静态文件放到static文件夹下

favicon.ico的图标文件放到static文件夹内,在index.html的head中添加:
!在这里插入图片描述(https://img-blog.csdnimg.cn/direct/ed6fca8b984149439f3bf68c54878622.png)

保存并刷新浏览器,看浏览器图标已经正确设置上了。设置后图标在测试环境、生产环境(打包后)都正常显示。

Tips: 注意,此处有坑,下面为测试环境有效,生产环境不生效配置,因为打包后目录变了,找不到src里面的路径了!!!

build文件夹

找到webpack.dev.conf.js,再找到HtmlWebpackPlugin,添加favicon:'favicon.ico路径',

javascript 复制代码
new HtmlWebpackPlugin({
 
  filename: 'index.html',
 
  template: 'index.html',
 
  favicon:'./favicon.png', //这里设置图标路径
 
  inject: true
 
})

然后找到webpack.prod.conf.js,再找到HtmlWebpackPlugin,添加favicon:'favicon.ico路径'

javascript 复制代码
new HtmlWebpackPlugin({
      filename: config.build.index,
      template: 'index.html',
      favicon: './favicon.png', //这里设置图标路径
      inject: true,
      minify: {
        removeComments: true,
        collapseWhitespace: true,
        removeAttributeQuotes: true
        // more options:
        // https://github.com/kangax/html-minifier#options-quick-reference
      }
相关推荐
To_OC3 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
腻害兔3 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
不好听6133 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus3 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子4 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech4 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn4 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧6 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
窝子面7 小时前
手搓最简前后端协作-node
javascript·数据库