umi 的项目中如何修改 favicon

浏览器在解析html文件时会将类型为icon的link标签引用的图片作为网页的favicon,也就是网站标签左上角的小图标。

有两种方法加入link标签:

1. 在document.ejs中使用link标签

 
<head>
 
<link rel="icon" type="image/x-icon" href="favicon.ico" />
 
</head>

umi 约定如果存在 src/document.ejs 文件,则将其作为html模板。

2. 在umi配置文件里配置links

links: [{ rel: 'icon', href: '/img/favicon.ico' }]

但是!注意坑:umi是不会去编译html文件的,也就是说这里的href如果写的是开发时的图片路径,umi是不会主动去找到图片并给你打包进输出文件里的。

那么像这样在html里引用的静态资源,不像js里的资源可以被webpack解析打包输出,我们要怎么搞到输出文件里去呢?

此时就要用到umi的约定:“public 目录:此目录下所有文件会被 copy 到输出路径”。新建一个 /public目录把图标放进去,可以在输出文件的根目录里访问到。

比如网页放在localhost:8000上,这里的href="favicon.ico" 就会往 localhost:8000/favicon.ico 发送Get资源请求,即项目输出文件的根目录。换句话说,如果你的资源放在/public/img下,那么href应该写"img/favicon.ico"

实际的项目中。

document.ejs 在 pages内

<head>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
</head>

在public 文件中 放 favicon.ico

漫思
原文地址:https://www.cnblogs.com/sexintercourse/p/13915518.html