安装 graphql-tools 和 graphql-express 之后。控制台中的错误消息“找不到名称 'AsyncIterator'
After installing graphql-tools and graphql-express. Error message in console 'Cannot find name 'AsyncIterator'
启动应用程序时登录错误
在启动应用程序时它显示以下错误,我尝试了下面提到的几个在线修复,但其中 none 已成功请求建议和解决方案
node_modules/@types/graphql/subscription/subscribe.d.ts(17,12): error TS2304: Cannot find name 'AsyncIterator'.
node_modules/@types/graphql/subscription/subscribe.d.ts(29,12): error TS2304: Cannot find name 'AsyncIterable'.
node_modules/graphql-tools/dist/stitching/makeRemoteExecutableSchema.d.ts(3,109): error TS2304: Cannot find name 'AsyncIterator'.
根据 google 结果尝试修复
- 将
esnext.asynciterable
添加到 tsconfig.json
- 将
esnext
添加到 tsconfig.json
但是其中 none 有效。
package.json
"dependencies": {
"async": "^2.6.0",
"body-parser": "^1.18.2",
"cookie-parser": "^1.4.3",
"cors": "^2.8.4",
"ejs": "^2.5.7",
"errorhandler": "^1.5.0",
"express": "^4.16.2",
"express-graphql": "^0.6.12",
"graphql": "^0.13.2",
"graphql-tools": "^3.1.1",
"ldapjs": "^1.0.1",
"method-override": "^2.3.10",
"moment": "^2.20.1",
"mongoose": "^4.13.6",
"morgan": "^1.9.0",
"mysql": "^2.15.0",
"node-schedule": "^1.3.0",
"nodemiral": "^1.1.1",
"pug": "^2.0.0-rc.4",
"q": "^1.5.1",
"request": "^2.85.0",
"sendmail": "^1.2.0",
"serve-favicon": "^2.4.5",
"socket.io": "^2.0.4",
"ts-node": "^3.3.0"
},
"devDependencies": {
"@types/async": "^2.0.47",
"@types/body-parser": "^1.16.8",
"@types/chai": "^4.0.8",
"@types/chai-http": "^3.0.3",
"@types/cookie-parser": "^1.4.1",
"@types/cors": "^2.8.3",
"@types/errorhandler": "0.0.32",
"@types/ldapjs": "^1.0.3",
"@types/lodash": "^4.14.106",
"@types/method-override": "0.0.31",
"@types/mocha": "^2.2.44",
"@types/mongodb": "^2.2.16",
"@types/mongoose": "^4.7.28",
"@types/morgan": "^1.7.35",
"@types/mysql": "^2.15.3",
"@types/node-schedule": "^1.2.2",
"@types/request": "^2.47.0",
"@types/serve-favicon": "^2.2.30",
"@types/socket.io": "^1.4.32",
"chai": "^4.1.2",
"chai-http": "^3.0.0",
"grunt": "^1.0.1",
"grunt-concurrent": "^2.3.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-mocha-test": "^0.13.3",
"grunt-newer": "^1.3.0",
"grunt-nodemon": "^0.4.2",
"grunt-ts": "^6.0.0-beta.17",
"grunt-tslint": "^5.0.1",
"grunt-typedoc": "^0.2.4",
"mocha": "^4.0.1",
"mocha-typescript": "^1.1.12",
"nodemon": "^1.12.4",
"tslint": "^5.8.0",
"typescript": "^2.6.2"
}
然后删除节点模块:-
npm install
npm install --save graphql-subscriptions
npm install --save @types/graphql
npm install --save @types/ws
在tsconfig.json中添加以下内容
"compilerOptions": {
"lib": [
"esnext.asynciterable"
]
我遇到了同样的问题,添加
"lib": ["es2017", "esnext", "esnext.asynciterable"]
对我的tsconfig.json没有帮助,这令人沮丧。
我听取了很多建议,最终 Shivendra 的回答帮我解决了这个问题。希望这会帮助其他人将来来到这里。
启动应用程序时登录错误
在启动应用程序时它显示以下错误,我尝试了下面提到的几个在线修复,但其中 none 已成功请求建议和解决方案
node_modules/@types/graphql/subscription/subscribe.d.ts(17,12): error TS2304: Cannot find name 'AsyncIterator'.
node_modules/@types/graphql/subscription/subscribe.d.ts(29,12): error TS2304: Cannot find name 'AsyncIterable'.
node_modules/graphql-tools/dist/stitching/makeRemoteExecutableSchema.d.ts(3,109): error TS2304: Cannot find name 'AsyncIterator'.
根据 google 结果尝试修复
- 将
esnext.asynciterable
添加到tsconfig.json
- 将
esnext
添加到tsconfig.json
但是其中 none 有效。 package.json
"dependencies": {
"async": "^2.6.0",
"body-parser": "^1.18.2",
"cookie-parser": "^1.4.3",
"cors": "^2.8.4",
"ejs": "^2.5.7",
"errorhandler": "^1.5.0",
"express": "^4.16.2",
"express-graphql": "^0.6.12",
"graphql": "^0.13.2",
"graphql-tools": "^3.1.1",
"ldapjs": "^1.0.1",
"method-override": "^2.3.10",
"moment": "^2.20.1",
"mongoose": "^4.13.6",
"morgan": "^1.9.0",
"mysql": "^2.15.0",
"node-schedule": "^1.3.0",
"nodemiral": "^1.1.1",
"pug": "^2.0.0-rc.4",
"q": "^1.5.1",
"request": "^2.85.0",
"sendmail": "^1.2.0",
"serve-favicon": "^2.4.5",
"socket.io": "^2.0.4",
"ts-node": "^3.3.0"
},
"devDependencies": {
"@types/async": "^2.0.47",
"@types/body-parser": "^1.16.8",
"@types/chai": "^4.0.8",
"@types/chai-http": "^3.0.3",
"@types/cookie-parser": "^1.4.1",
"@types/cors": "^2.8.3",
"@types/errorhandler": "0.0.32",
"@types/ldapjs": "^1.0.3",
"@types/lodash": "^4.14.106",
"@types/method-override": "0.0.31",
"@types/mocha": "^2.2.44",
"@types/mongodb": "^2.2.16",
"@types/mongoose": "^4.7.28",
"@types/morgan": "^1.7.35",
"@types/mysql": "^2.15.3",
"@types/node-schedule": "^1.2.2",
"@types/request": "^2.47.0",
"@types/serve-favicon": "^2.2.30",
"@types/socket.io": "^1.4.32",
"chai": "^4.1.2",
"chai-http": "^3.0.0",
"grunt": "^1.0.1",
"grunt-concurrent": "^2.3.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-mocha-test": "^0.13.3",
"grunt-newer": "^1.3.0",
"grunt-nodemon": "^0.4.2",
"grunt-ts": "^6.0.0-beta.17",
"grunt-tslint": "^5.0.1",
"grunt-typedoc": "^0.2.4",
"mocha": "^4.0.1",
"mocha-typescript": "^1.1.12",
"nodemon": "^1.12.4",
"tslint": "^5.8.0",
"typescript": "^2.6.2"
}
然后删除节点模块:-
npm install
npm install --save graphql-subscriptions
npm install --save @types/graphql
npm install --save @types/ws
在tsconfig.json中添加以下内容
"compilerOptions": {
"lib": [
"esnext.asynciterable"
]
我遇到了同样的问题,添加
"lib": ["es2017", "esnext", "esnext.asynciterable"]
对我的tsconfig.json没有帮助,这令人沮丧。
我听取了很多建议,最终 Shivendra 的回答帮我解决了这个问题。希望这会帮助其他人将来来到这里。