Я создаю проект nuxt с пакетом @ nuxtjs / apollo и машинописью. Я хочу добавить конфигурацию apollo в мой nuxt.config.ts, но он не показывает все доступные свойства.
Конфигурация должна иметь возможность иметь эти параметры, но она говорит: "'wsEndpoint' делает не существует в типе 'ApolloClientConfig' ":
import { Configuration } from '@nuxt/types';
const configuration: Configuration = {
apollo: {
clientConfigs: {
default: {
httpEndpoint: process.env.VUE_APP_ALERTS_COMMENTS_API_HTTP_URL,
wsEndpoint: process.env.VUE_APP_ALERTS_COMMENTS_API_WS_URL,
websocketsOnly: false,
}
}
}
}
Это мой tsconfig. json:
{
"compilerOptions": {
"experimentalDecorators": true,
"target": "es2018",
"module": "esnext",
"moduleResolution": "node",
"lib": [
"esnext",
"esnext.asynciterable",
"dom"
],
"esModuleInterop": true,
"allowJs": true,
"sourceMap": true,
"strict": true,
"noEmit": true,
"baseUrl": ".",
"paths": {
"~/*": [
"./*"
],
"@/*": [
"./*"
]
},
"types": [
"@types/node",
"@nuxt/types",
"@nuxtjs/apollo/types/nuxt.d.ts",
"vue-cli-plugin-apollo",
"@types/jest",
"vue-toasted/types",
"vue-i18n/types"
]
},
"exclude": [
"node_modules",
"e2e",
"./env.config.ts"
],
"files": [
"custom.d.ts"
]
}
Я провел некоторые исследования по типам:
- vue -cli-plugin-apollo содержит отсутствующие типы
- Мне пришлось импортировать "@ nuxtjs / apollo / types / nuxt.d.ts", а не его index.d.ts потому что в противном случае у меня вообще не было типов для apollo (хотя index.d.ts импортирует nuxt.d.ts)
- nuxt.d.ts имеет интерфейс «ApolloClientConfig», который расширяет интерфейс «ApolloClientClientConfig» из пакета "vue -cli-plugin-apollo". Автозаполнение работает для свойств "ApolloClientConfig", но отсутствуют значения из "ApolloClientClientConfig".
Я также попытался заменить "vue -cli-plugin-apollo" в tsconfig. json с: "vue -cli-plugin-apollo / types.d.ts" без разницы в результате.
Вот nuxt.d.ts и types.d.ts из "vue -cli-plugin-apollo" .
Вот соответствующая часть моего пакета. json
{
...
"dependencies": {
...
"@nuxtjs/apollo": "^4.0.0-rc19",
"nuxt": "^2.0.0",
...
},
"devDependencies": {
...
"vue-cli-plugin-apollo": "^0.21.3",
...
},
...
}