【问题标题】:How to add a custom favicon to sails.js application?如何将自定义图标添加到sails.js 应用程序?
【发布时间】:2014-04-29 06:52:39
【问题描述】:

Sails.js 应用程序使用 express 的默认图标。我想用我自己的替换它,但已经挣扎了几个小时。

我尝试在 config 文件夹下添加一个单独的favicon.js,但没有成功。

/**
* favicon.ico
*/
var favicon = require('static-favicon');
var path = require('path');

module.exports = {
  express: {
    customMiddleware: function(app){
      console.log('loading favicon.'); //executed
      app.use(favicon(path.join(__dirname, 'icon_fav.ico')));
      app.use(function (req, res, next) {
        console.log("installed customMiddleware is used");
        next();
      })
    }
  }

};

顺便说一句,在视图模板中添加以下行在 Chrome 和 Fire Fox 中都可以,但在 Safari (OSX) 中不可用,不知道为什么。

<link rel="icon" href="/img/icon_fav.png" type='image/png'>

还尝试将/favicon.ico 放在网络服务器根目录下。

谷歌搜索,似乎没有人问过。
有人可以指出我的解决方案吗?

【问题讨论】:

  • 更改 .ico 后是否清除缓存?
  • @BatuZet,是的,我做到了。

标签: javascript sails.js favicon


【解决方案1】:

我为更新 favicon 所做的就是在其后面添加一个版本。

<link rel="icon" href="/img/icon_fav.png?version=2" type="image/png">

【讨论】:

    【解决方案2】:

    将图标放入根文件夹并使用:

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

    【讨论】:

    • 我知道这一点,它通常应该可以工作,即使在使用 sails.jsangular.js 时,它也适用于 Chrome 和 Firefox。但是我这样的应用程序无法在 OSX Safari 上显示图标(不知道为什么!!)。但是,由sails new clean_project 创建的空sail.js 应用程序在插入此类行时可以与Safari 很好地配合使用(即使favicon.ico 不在根目录下,或者具有默认名称)。另一个发现是localhost:1337/favicon.ico 将始终返回默认的快递图标。我认为sails.js 有问题。
    • 顺便说一句,HTML 中的链接元素没有结束标记,在我看来,特别是像“/>”这样的便利结束标记不建议用于 HTML。
    • 它通常被缓存得很硬,但是转到localhost:1337/favicon.ico 并按 Ctrl+R 应该可以解决问题。
    【解决方案3】:

    sail 0.12 实际上是从 public/favion.ico 提供的(尽管 boostrapped 框架存储在其中 assets ,并且文档说它位于 assets/favicon.ico

    【讨论】:

      猜你喜欢
      • 2022-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 2016-05-15
      • 1970-01-01
      相关资源
      最近更新 更多