从ionic2中的资产文件夹加载字体时出错

Posted

技术标签:

【中文标题】从ionic2中的资产文件夹加载字体时出错【英文标题】:error while loading fonts from assests folder in ionic2 【发布时间】:2017-08-31 04:17:40 【问题描述】:

在开发离子应用程序时,我使用了一些图标和图像。问题是现在我的应用程序无法正确显示图标。在控制台中出现这些错误

Failed to load resource: the server responded with a status of 404 (Not Found)----ionicons.woff2

'roboto-medium.ttf','roboto-regular.ttf','ionicons.woff','ionicons.woff','roboto-regular.woff'存在这些错误

 localhost:portnumber/build/assets/fonts/roboto-light.ttf 404 (Not Found)

我什至没有在我的应用程序中使用任何字体,但是为什么这会影响显示图标

科尔多瓦 CLI:6.5.0 Ionic 框架版本:2.0.0 Ionic CLI 版本:2.2.1 Ionic 应用程序库版本:2.2.0 Ionic 应用脚本版本:1.0.0 ios-deploy 版本:未安装 ios-sim 版本:未安装 操作系统:Linux 3.13 节点版本:v7.7.2 Xcode 版本:未安装

我已经与我以前的同一个应用程序副本进行了交叉检查,发现 @font-face 的 main.css 文件中的路径从 ../assets/fonts 更改为 assets/fonts/ionicons.woff2 。我认为这是根本原因,但我尝试更改它,运行应用程序后未应用更改。如何解决此问题。

【问题讨论】:

您是使用自己的图标和图像.. 还是使用离子图标..? 我正在使用 ionicons 哦.. 打开项目中的 www 文件夹并导航到 assets -> fonts.. 检查错误消息中的所有 4 个文件是否都存在。然后尝试再次构建项目并运行它..(如果错误仍然存​​在,请发布您当前使用的cli版本和ionic版本) 是的,所有这些文件都在 www/assets/fonts 中。 【参考方案1】:

经过一番挣扎,我找到了解决方案。即在“主题”文件夹中更改 variable.scss 文件。更改变量 $font-path 的路径解决了所有问题。$font-path: "../assets/fonts";

【讨论】:

嗨。我已经有了像$font-path: "../assets/fonts" 这样的路径,但是没有安装字体。我的问题是Roboto 字体。它们没有被添加到assets/fonts 内有什么想法吗?【参考方案2】:

对我来说也有同样的问题。

由于一些修改,这些文件丢失了,我得到了解决-

    $ npm install 服务器重启ionic serve --lab

对我来说很棒。

希望它也对你有用。

【讨论】:

【参考方案3】:

如果您不需要 Roboto 字体,只需在 variables.scss 中删除这一行 @import "reboto"

【讨论】:

【参考方案4】:

在我的情况下,以下是对错误的修复: 将此 mime 添加到您的 web.config:

<configuration> <system.webServer> <staticContent> ...
<!--
    https://***.com/questions/28235550/proper-mime-type-for-woff2-fonts
  -->   
            <remove fileExtension=".woff2" />
            <mimeMap fileExtension=".woff2" mimeType="font/woff2" />

【讨论】:

以上是关于从ionic2中的资产文件夹加载字体时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Flutter 的 webview 处理从本地 html 加载的本地资产?

无法从嵌套组件中的资产文件夹加载图像(Vue.js 2.0 / Webpack)

在资产文件夹中打开 sqlite db 时出错

从 Android 动态功能模块将资产加载到 WebView

Rails 3.1.3 - 从供应商/资产/样式表中的子文件夹加载资产

如何从资源文件夹动态加载资产到公用文件夹并使用asset()助手访问它们