【发布时间】:2019-04-17 06:39:17
【问题描述】:
我正在尝试让 Font Awesome 5 在 android 上运行,但它不起作用。使用https://github.com/NathanWalker/nativescript-ngx-fonticon 包。
我的文件夹结构
- src
-- assets
-- fonts
-- app
assets 文件夹包含 fontawesome css (font-awesome.css),我已经删除了“Font Awesome 使用 Unicode Private Use Area (PUA) 以确保屏幕 读者不会读出代表图标的随机字符”备注。
字体文件夹包含我从 Font Awesome 5 网站 (fa-brands / fa-regular / fa-solid) 下载的所有字体文件 (eot / svg / ttf / woff / woff2)
在我的主 scss 文件中,我有一行:
.fa {
font-family: FontAwesome, fontawesome-webfont;
}
.fas {
font-family: FontAwesome, fa-solid-900;
}
在我的 app.module.ts 中:
import { TNSFontIconModule , TNSFontIconService } from 'nativescript-ngx-fonticon';
TNSFontIconService.debug = true;
并导入:
TNSFontIconModule.forRoot({
'fa': './assets/font-awesome.css'
})
现在在我的 HTML 中:
<Label class="fas" [text]="'fa-bars' | fonticon" color="#2c0239"></Label>
我还修改了我的 webpack 配置以复制和查看 src/assets/ 文件夹:
new CopyWebpackPlugin([
{ from: "assets/**"},
{ from: "fonts/**" },
{ from: "**/*.jpg" },
{ from: "**/*.png" },
], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),
所以当我在 iPhone 上运行它时,我会得到 [?]
【问题讨论】:
-
尝试删除
fas类定义,看看是否有帮助,因为它们共享相同的名称。 -
实际上 .fas 类使它可以在 android 上运行 :)
标签: android iphone font-awesome nativescript