【问题标题】:Can't setup favicon Angular 6 app无法设置 favicon Angular 6 应用程序
【发布时间】:2018-11-23 01:01:53
【问题描述】:

我正在使用 Angular 6,无法为我的应用设置网站图标。它根本不存在。这是我的angular.json 文件:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "frontend": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "../wwwroot/dist",
            "deployUrl": "/dist/",
            "index": "src/index.html",
            "main": "src/main.ts",
            "tsConfig": "src/tsconfig.app.json",
            "polyfills": "src/polyfills.ts",
            "assets": [
              "src/assets",
              "src/favicon.ico"
            ],
            "styles": [
              "src/styles.scss"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "frontend:build",
            "proxyConfig": "proxy.conf.json"
          },
          "configurations": {
            "production": {
              "browserTarget": "frontend:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "frontend:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "karmaConfig": "./karma.conf.js",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "scripts": [],
            "styles": [
              "src/styles.scss"
            ],
            "assets": [
              "src/assets",
              "src/favicon.ico"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    },
    "frontend-e2e": {
      "root": "",
      "sourceRoot": "",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "./protractor.conf.js",
            "devServerTarget": "frontend:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "e2e/tsconfig.e2e.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "frontend",
  "schematics": {
    "@schematics/angular:component": {
      "prefix": "app",
      "styleext": "scss"
    },
    "@schematics/angular:directive": {
      "prefix": "app"
    }
  }
}

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

favicon.ico 位于src/favicon.ico

我已经按照人们在类似问题中的建议多次尝试清除现金并重新启动应用程序,但没有帮助。 还尝试将虚拟参数添加到 index.html 中的 favicon,例如 href="favicon.ico?any=param"

我应该怎么做才能让它工作?谢谢。

【问题讨论】:

  • 这里的确切错误是什么?它会找到图像还是为 favicon.ico 获得 404?您可以尝试执行“ng build”并检查“dist”文件夹。当正确的 favicon.ico 被复制到文件夹中时,这可能是一个缓存问题。
  • 我没有收到任何错误。 vrowser 中的 Favicon 只是空的
  • 在您的angular.json 中,尝试使用favicon.ico 而不是src/favicon.ico。这就是我的应用程序的设置方式,并且 favicon 位于 src/ 目录中。
  • @rhavelka 如果我这样做 - 我会收到错误 The favicon.ico asset path must start with the project source root.
  • 好的,我有我的"root": "src",它解释了该错误以及为什么我的任何文件都没有 src 前缀。但这并不能解释为什么您的 favicon 不起作用...我假设您有一个 favicon.ico,它与 favicon.png 不同。您的标签上是否会显示默认图标之类的内容?

标签: javascript angular favicon angular6


【解决方案1】:

将您的favicon.png 放入您的资产文件夹并更改index.html 中的路径,如下所示:

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

【讨论】:

    【解决方案2】:

    图片和静态文件的公共文件夹是 /assets。把icon-image放在那里。

    <link rel="icon" type="image/x-icon" href="assets/images/icon.png">
    

    【讨论】:

    • 这对我有用,但重新启动 ng serve 也允许我将 .ico 文件保留在 /src 目录中。
    猜你喜欢
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多