Apollo-link-rest: ReferenceError:ヘッダーが定義されていません

作成日 2018年01月03日  ·  10コメント  ·  ソース: apollographql/apollo-link-rest

readmeとその爆撃を使用して、ノード8で基本的なコードを試しました。

/home/stephen/dev/gql-play/node_modules/apollo-link-rest/lib/bundle.umd.js:110
    if (headers instanceof Headers) {
                           ^

ReferenceError: Headers is not defined
    at normalizeHeaders (/home/stephen/dev/gql-play/node_modules/apollo-link-rest/lib/bundle.umd.js:110:28)
    at new RestLink (/home/stephen/dev/gql-play/node_modules/apollo-link-rest/lib/bundle.umd.js:259:25)
    at Object.<anonymous> (/home/stephen/dev/gql-play/index.js:7:14)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)

以下に添付のソースコード
gql-play.zip

➜  gql-play node -v
v8.9.3

最も参考になるコメント

グローバルオブジェクトにヘッダーを配置することで、この問題を回避することができました。

const fetch = require('node-fetch');
global.Headers = fetch.Headers;

全てのコメント10件

グローバルオブジェクトにヘッダーを配置することで、この問題を回避することができました。

const fetch = require('node-fetch');
global.Headers = fetch.Headers;

私はここでそれを再現しようとしました: https

あなたの例を使用すると、同じ問題が発生し、ノード6.1でも同じ結果を試しました。

node9で実行していると思いますか? ノードをダウングレードして、それが再現されるかどうかを確認する必要があります。 他のノードに問題があります。

ノード9のグローバルにヘッダーを追加しましたか? https://runkit.com/trashhalo/5a4d5779ceaa39001278edbe9.3.0はまだエラーが発生しているようです

@trashhalo私は

ちょっと@ trashhalo-私はちょうどあなたのテストアプリを実行しました、そしてあなたは正しいです、ノードスクリプトとして直接link-restを実行しようとすると、私は同じヘッダーの欠落の問題を受け取ります。

私は次のことを行うことでその問題を乗り越えることができました:

global.Headers = global.Headers || require("fetch-headers");

しかし、明らかに、それは問題を埋め尽くしています。 -残念ながら、それを行うと、 ReferenceError: gql is not definedエラーが発生します

純粋なノード環境で呼び出されたときにlink-restが機能することを期待しているのか完全にはわかりませんか? 考え?

大丈夫。 問題が機能することを前提として、問題をポリフィルしてもかまいません。

こんにちは、みんな、

ノードv8.94
OS X 10.11.6
Next.JS v5.0.1-canary.4

Advanced Exampleをインストールし、すべての依存関係を最新のものに更新しましたが、すべて問題ありませんでした。

次に、 src/SearchShow.jsとサポート<ApolloProvider> (およびdeps)を、Next.JSで実行されている新しいプロジェクトにコピーすると、問題が発生しました。

@fbarthoのポリフィルを適用しReferenceError: gql is not definedエラーは表示されません。

お役に立てば幸いです。そのプロジェクトはます

ノードv9.7.1でも同じ問題が発生します。

ターゲットランタイム環境用にHeadersをポリフィルする必要があるかもしれないことをドキュメントに追加します。さらに、#93でさらに拡張について説明しているので、このチケットを閉じます。

このページは役に立ちましたか?
0 / 5 - 0 評価