予想される行動
tsc
実行時にビルドが成功する
実際の動作
tscは次のエラーをスローします。
node_modules/apollo-link-http-common/lib/index.d.ts(3,15): error TS2304: Cannot find name 'Response'.
node_modules/apollo-link-http-common/lib/index.d.ts(8,15): error TS2304: Cannot find name 'Response'.
node_modules/apollo-link-http-common/lib/index.d.ts(37,13): error TS2304: Cannot find name 'GlobalFetch'.
node_modules/apollo-link-http-common/lib/index.d.ts(53,81): error TS2304: Cannot find name 'Response'.
node_modules/apollo-link-http-common/lib/index.d.ts(54,54): error TS2304: Cannot find name 'RequestInfo'.
node_modules/apollo-link-http-common/lib/index.d.ts(54,74): error TS2304: Cannot find name 'RequestInit'.
node_modules/apollo-link-http-common/lib/index.d.ts(54,98): error TS2304: Cannot find name 'Response'.
_単純_再生産src/index.ts
import 'isomorphic-unfetch';
import { ApolloClient } from 'apollo-client';
import { createHttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
export const apolloClient = new ApolloClient({
link: createHttpLink({
uri: process.env.API_ENDPOINT
}),
cache: new InMemoryCache()
});
tsconfig.json
{
"compilerOptions": {
"outDir": "build",
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"lib": [
"esnext.asynciterable",
"es2015",
"es2016",
"es7"
],
"sourceMap": true
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules/",
"**/*.spec.ts"
]
}
発行ラベル
おもしろい。 これをノードプロジェクトで使用しているので、tsconfigにdom
を追加していません。
より明確にすることに関しては、 https://www.apollographql.com/docs/link/#installationのInstallation
段落で言及しておくと役立つ場合があります。
これは、これをトラブルシューティングしようとしたときに最初にアクセスしたページです:+1:
素晴らしいパッケージをありがとう、それは物事を迅速に成し遂げるのに大きな助けになりました:)
コンパイラのターゲットとしてes5
またはes6
も、問題は修正されません(さらに、 @ j3ddesignには最初からターゲットとしてes6
れていました)。 ただし、 dom
をlib
に追加すると、修正されました。
最も参考になるコメント
コンパイラのターゲットとして
es5
またはes6
も、問題は修正されません(さらに、 @ j3ddesignには最初からターゲットとしてes6
れていました)。 ただし、dom
をlib
に追加すると、修正されました。