使用 expo google 字体通过 https 加载时,我的 React 本机网站会发出多个混合内容警告

My react native site gives multiple mixed content warnings when loading over https using expo google fonts

我正在开发一个使用 React Native 编码的网站。我决定使用一些 Google 字体,因为它们很容易实现。一切正常,直到我开始使用 Traefik 作为我网站的反向代理,并且我决定使用 https 确保它的安全。唯一的问题是,现在当它加载时,它会针对不安全的字体抛出 15 混合内容 警告。

这就是我将字体加载到我的应用程序中的方式...

import {
    useFonts,
    Pacifico_400Regular,
    ComicNeue_400Regular,
    JosefinSans_400Regular,
    BalsamiqSans_400Regular,
    Inconsolata_400Regular,
} from '@expo-google-fonts/dev';
import { AppLoading } from 'expo';

function BodyText(props) {
    let [fontsLoaded] = useFonts({
        Pacifico_400Regular,
        ComicNeue_400Regular,
        JosefinSans_400Regular,
        BalsamiqSans_400Regular,
        Inconsolata_400Regular,
    });

这是我遇到的错误...

混合内容:'' 的页面是通过 HTTPS 加载的,但请求了不安全的字体''。此请求已被阻止;内容必须通过 HTTPS 提供。

我不确定如何解决这个问题,因为没有对 http 的隐式引用,我可以将其更改为 https

编辑:

感谢 Emanuele Scarabattoli

解决了问题

我把上面的代码改成了

import { useFonts, Pacifico_400Regular } from '@expo-google-fonts/pacifico';
import { ComicNeue_400Regular } from '@expo-google-fonts/comic-neue';
import { JosefinSans_400Regular } from '@expo-google-fonts/josefin-sans';
import { BalsamiqSans_400Regular } from '@expo-google-fonts/balsamiq-sans';
import { Inconsolata_400Regular } from '@expo-google-fonts/inconsolata';

这些是生产进口。 非常感谢您的帮助!

问题似乎与 @expo-google-fonts/dev 包本身有关,特别是与此文件有关:

https://github.com/expo/google-fonts/blob/master/font-packages/dev/index.js

如您所见,所有字体都加载到 HTTP 而不是 HTTPS

您应该考虑改用 @expo-google-fonts/inter

https://github.com/expo/google-fonts#usage

或者考虑到这里看看:

https://docs.expo.io/guides/using-custom-fonts/