2017-03-16 134 views
0

我開始了一個非常基本的構建。 我正在使用'create-react-native-app'和pm。React-Native無法解析字體模塊

從那裏我試圖完成的是加載一些UI元素的「本地基礎」。

從app.js文件中,我添加的唯一東西是來自本機的按鈕組件。

<Button> <Text></Text> </Button>

並已包括本土基地。

收到一些錯誤後,它couldn't resolve module '@expo/vector-icons'我去了,並安裝@ expo/vector-icons,併爲它的地獄跑react-native link

現在它可以找到@ expo/vector-icons,但它找不到以Ionicons.ttf開頭的字體。

SO。從那裏,我將所有字體下載到assets/fonts/目錄,然後將其包含在我的app.js文件中,該文件基於我在世博會網站上找到的一些文檔。

import { Font } from 'exponent'; 
/// 
export default class App extends React.Component { 
    componentDidMount() { 
    Font.loadAsync({ 
     'ionicons': require('./assets/fonts/Ionicons.ttf'), 
    }); 
    } 
/// 

回答

0

他們的方式我加載自定義字體是由在Info.plist文件將其添加爲應用程序提供的字體列表:

enter image description here

而且他們也需要在在構建階段提供資源:

enter image description here

之後,你可以在適當的fontFamily中使用它在CSS中反應本土。確保在添加字體後再次清理並生成項目,以便將它們複製到設備中。

+0

你如何「打掃和打造」?我添加了一個字體,但是我一直收到無法識別的字體錯誤。 :(http://stackoverflow.com/q/43301962/1828637(我沒有使用create-react-native-app只是定期的react-native初始化) – Noitidart

+1

@Noitidart這可能是兩件事情:字體不在你使用的設備或字體家族是錯誤的,請記住font​​-family並不總是與文件名相同,通常是第一個問題,所以清理和構建你需要反應 - native run-ios生成構建並重新運行它,或者我的方式是直接在Xcode中打開項目並使用「play」按鈕運行它。如果您在Xcode中添加了這些項並立即修改react-native代碼,問題在於字體沒有被複制 – sfratini

+0

非常感謝@sfratini的洞察力 - 當我打開xcode時,我看到資源和複製階段的字體。我怎樣才能看到font-family的名字(如果它不是文件名)? – Noitidart

相關問題