请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

vue-cli4打包后ico不显示的问题

老师,我在vue-cli4中使用了路由的history模式,发现favicon.icon在打包前是可以显示的,但是打包后就显示不出来了,请问老师是什么原因,应该如何解决

项目放在nginx的根目录下,直接通过localhost/index.html访问

public/index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,
      minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>Sonic</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>

router/index.js

const router = new VueRouter({
  mode: 'history',
  base: '/',
  routes
})

正在回答

2回答

Dell 2020-04-28 23:45:32

history 模式需要你在服务器上配置路径映射,你搜一下vue文档,有讲部署那快的内容,你需要在ng上做个配置

0 回复 有任何疑惑可以回复我~
  • try_files $uri $uri/ /index.html;
    这个配置我配置好了,我现在怀疑是router里面的base和vue.config.js中的publicPath配置有问题,这两个文件需要做什么修改吗
    回复 有任何疑惑可以回复我~ 2020-04-29 08:57:22
  • Dell 回复 提问者 有没有没被占用的昵称 #2
    打包过后的index。html 内容发一下
    回复 有任何疑惑可以回复我~ 2020-04-29 23:59:07
  • 提问者 有没有没被占用的昵称 回复 Dell #3
    <!DOCTYPE html>
    <html lang=en>
    <head>
      <meta charset=utf-8>
      <meta http-equiv=X-UA-Compatible content="IE=edge">
      <meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
      <link rel=icon href=favicon.ico>
      <title>sonic</title>
      <script
          src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBmIoVNu7MwSwXggjFtJUVFVh24ToqkULQ&libraries=places"></script>
      <link href=css/app.ba1e114d.css rel=preload as=style>
      <link href=css/chunk-vendors.486dc3b1.css rel=preload as=style>
      <link href=js/app.27d5cb65.js rel=preload as=script>
      <link href=js/chunk-vendors.2650440a.js rel=preload as=script>
      <link href=css/chunk-vendors.486dc3b1.css rel=stylesheet>
      <link href=css/app.ba1e114d.css rel=stylesheet>
    </head>
    <body>
    <div id=app></div>
    <script src=js/chunk-vendors.2650440a.js></script>
    <script src=js/app.27d5cb65.js></script>
    </body>
    </html>
    
    favicon.ico就在dist目录下
    回复 有任何疑惑可以回复我~ 2020-04-30 08:12:57
Dell 2020-04-25 23:17:18

你看下<%= BASE_URL %>favicon.ico 这个文件是否存在于打包过后产生的目录中

0 回复 有任何疑惑可以回复我~
  • 确实是存在的,而且用服务器地址也不显示,但是直接在浏览器输入链接确显示了
    回复 有任何疑惑可以回复我~ 2020-04-26 07:14:53
  • 老师,还有个问题就是history模式下,访问localhost:8080/a没问题,访问localhost:8080/a/b就不行
    回复 有任何疑惑可以回复我~ 2020-04-26 17:53:05
  • Dell 回复 提问者 有没有没被占用的昵称 #3
    你路由怎么配置的,发上来看看那
    回复 有任何疑惑可以回复我~ 2020-04-28 00:53:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信