Styleguidistは2つの方法で使用できます.1つはReact Create Appを使用し、次にNPM Styleguidistパッケージをインストールすることです。次に、私が見いだしたもう1つの方法は、githubレジストリの例から始まり、コンポーネントの置き換えです。私が最初にしたのは、Webpackがメインフォルダにインストールされていないが、NPMモジュールで使用されていたので、React Create Appを使用した場所でした。私はエラーを取得して、そのメソッドで
:
「モジュールの解析に失敗しました:予期しないトークン(16:6)。 は、このファイルの種類を処理するために、適切なローダーが必要かもしれません」
これは、Webpackを設定する必要があることを意味します。私はこれを解決しませんでしたが、単にstyleguide.config.jsファイルをBabelと連携するように設定する必要があります。 (ちょうど推測)
これで問題を解決するラッパーを正常に使用することはできませんでした。代わりに、私はhttps://github.com/styleguidist/exampleにStyleguidistの例をダウンロードし、新鮮に始めました。違いはわかりませんが、ラッパーを使用したとき、ページのすべてのコンポーネントにApolloProviderラッパーを追加すると効果的でした。
HttpLinkとInMemoryCacheも使用する必要がありますが、Apollo 2を動作させるにはこれに関する一般的な設定はhttps://www.apollographql.com/docs/react/basics/setup.htmlです。クライアントの作成中。
GraphQL/Expressサーバをポート4000で使用し、Styleguidistをデフォルトでポート6060に使用していたため、私のGraphQLサーバに別のポートを使用していました。つまり、新しいHttpLinkにuriを渡して追加しましたエクスプレスサーバーへの回線は、corsを許可します。
エクスプレスGraphQlとアポロサーバーでCORSのための参照: https://blog.graph.cool/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d
だから私のラッパーファイルは、次のようになります。
import React, { Component } from 'react';
import ApolloClient, { createNetworkInterface } from 'apollo-client';
import { ApolloProvider } from 'react-apollo';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
const link = new HttpLink({
uri: 'http://localhost:4000/graphql'
});
const client = new ApolloClient({
link,
cache: new InMemoryCache()
});
export default class Wrapper extends Component {
render() {
return (
<ApolloProvider client={client}>
{this.props.children}
</ApolloProvider>
);
}
}
と私のサーバーのファイルは次のようになります。
何例
const express = require('express');
const expressGraphQL = require('express-graphql');
const schema = require('./schema/schema');
const cors = require('cors');
const app = express();
app.use(cors());
app.use('/graphql', expressGraphQL({
schema: schema
, graphiql: true
}));
app.listen(4000,() => {
console.log('..listening');
});
あなたは参考にしていますか? –
私はUdemyのクラスを見ていますが、https://blog.graph.cool/how-to-use-create-react-app-with-graphql-apollo-62e574617cffでも、「Now we src/index.jsに必要なパッケージをインポートしています。いくつかの設定を知っているだけでなく、React.domメソッドがReactDOMのようになるように勧めています。 ルータの履歴= {browserHistory}> <経路パス= '/'コンポーネント= {リストページ} /> <経路パス= '/作成'コンポーネント= {作成ページ} /> ApolloProvider> )、 のdocument.getElementById( 'ルート') ) –
は、どこかのモジュールでStyleguidistのための主要なindex.jsファイルはありますか? –