2017-10-17 5 views
3

このチュートリアルEliminate Boilerplate with React Native Templates以下しようとしたが、それはpackage.jsonでこれをfailing for meは、ネイティブが

私はこの

... 
render() { 
    return (
     <View style={{fontFamily: 'SomeAwesomeFont'}> 
     <Text>Hello </Text> 
     </View> 
    ); 
    } 
... 

のようないくつかのデフォルトのコードでテンプレートをしたいと思いを維持し、カスタムテンプレートを作成反応

"rnpm": { 
    "assets": [ 
    "./assets/fonts/" 
    ] 
}, 

にいくつかのフォントファイルを追加します。assets/fonts

が行うことができるように期待していたこの本:

▶ react-native init World --template HelloTemplate

▶ cd World

▶ react-native link


更新

@ChrisGiermanが答えに私を指摘(ありがとう) 。フォルダ全体の名前はreact-native-template-HelloTemplateである必要があります。

+0

あなたのための私の答えに動作しますか?私はまた、これをより包括的に答えるためにすぐに公開するブログ投稿を書いた –

+0

こんにちはクリス、あなたの答えをどうもありがとう。私はこれを私がSOに質問を掲示する前にやったことだと思うが、明日はあなたの答えを与え、それが働いたら答えをマークする。 – Norfeldt

答えて

2

- == UPDATE == -

は、私はかなり私は以下の書いたものを改めて表明が、私はそれをもう少し明確かつ包括的だと思うのブログ記事を書きました。

https://medium.com/@chris.geirman/the-1-2-3s-of-react-native-templates-1f5dda037e11


私はその記事を見てきましたし、それにいくつかの時間のための試みを与えることを意味してきたので、私は、私はそれを行うには、この機会を利用してもであなたを助けるだろうと思って同じ時間

あなたはあなたの説明に多くの細部を残しました。あなたが記事と同じ方法でそれらをしたかどうかを確認することができないので、私は彼らがキーポイントを繰り返し述べる価値があると思いました。さらに、私は記事が少し曖昧であるかもしれないと思った。だからここに私のために働いた。

注:すべて正しいことを確認した場合は、セクション4 - 公開にスキップすることができます。あなたの主な問題は、cliコマンドの実行方法だけかもしれません。 dependencies.json

1)を作成するには、あなたはあなたのpackage.jsonがどのように見えるかの小さな一部を述べたが、記事では、あなたの依存関係がdependencies.jsonという名前の新しいファイルに行くべきと規定されています。 ...:(私のテンプレートがreact-navigationにのみ依存しているノート)

{ 
    "react-navigation": "^1.0.0-beta.15" 
} 

2)

次の記事をあなたの `package.jsonをクリーンアップあなたの依存関係がこれらをした場合、そのファイルは次のようになります依存関係、devDependencies、スクリプト、およびその他のものはすべてpackage.jsonから削除する必要があると説明しています。テンプレート名はこの規約に従わなければなりません...私のテンプレートがgeirman呼ばれ

react-native-template-{templateName} 

ので、これは私のpackage.json最終的には削除されたすべての余分のアイテムを持つように見えるものです。繰り返しますが、これはそのファイル全体です。

{ 
    "name": "react-native-template-geirman", 
    "version": "0.0.1" 
} 

3)削除ネイティブディレクトリ

rm -rf ./android 
rm -rf ./ios 

4)

次を公開するには、あなたが公表するように言われているが、それは方法や場所言っていません。上記の命名規則に従って、publish to the npm registryにする必要があります。そして、あなたは...次のコマンドで

react-native init myapp --template geirman 

注テンプレートを使用したい:私は、NPMレジストリに私の例を公開し、その上で動作します。

実際にローカルファイルシステムからインストールしようとしているようです。その場合は、あなたがチェック、あなたが出版されたテンプレートがどのように見えるかを確認したい場合はそう...

react-native init myapp --template file:///Users/ChrisGeirman/dev/mobile/playground/templates/react-native-template-geirman 

他の文献

  • のようなテンプレートへの完全修飾パスを提供する必要があるだろうアウトreact-native-template-mobx。新しいindex.jsエントリポイントの代わりにindex.ios.jsindex.android.jsを使用しているため、これ以上機能しませんが、同じ基本構造が適用されます。
  • publish to the npm registry
+0

私の問題は「完全修飾パス」だと考えてください。あなたの例では 'gierman'を作成しますが、' geriman'フォルダにナビゲートせずに 'react-native-template-geirman'を使用するだけです。私はいくつかのバリエーションを試しました(更新された質問を参照してください)が、運がありません。 – Norfeldt

+0

問題が見つかりました。私は 'react-native-template-'をフォルダの名前として使用する必要があります。 – Norfeldt

+0

これは素晴らしいです! –

関連する問題