В настоящее время работаю над своим проектом и хотел использовать библиотеку под названием слияние-graphql-схемы. Поскольку у модуля нет собственных типов, я создал файл, расположенный в src / types / merge-graphql-schemas.d.ts
В merge-graphql-schemas.d.ts я написал:
declare module "merge-graphql-schemas";
My TSlint устраняет ошибки при импорте файла:
import { mergeTypes, mergeResolvers } from "merge-graphql-schemas";
Но когда я компилирую, я все равно получаю:
Could not find a declaration file for module 'merge-graphql-schemas'
Try `npm install @types/merge-graphql-schemas` if it exists or add a new declaration (.d.ts) file containing `declare module 'merge-graphql-schemas';`
Я также пробовал такие решения, как:
declare module "*";
заранее спасибо
Обновлено: Использование этого решило мою проблему
// tslint:disable-next-line
const variableName = require('merge-graphql-schemas')
Если кто-нибудь может объяснить почему или придумать другое решение, я был бы рад это услышать.
То есть вроде /// <reference path = "path/to/my/typing/type.d.ts"/> import { mergeTypes, mergeResolvers } from "merge-graphql-schemas"; @ IshankDubey
Попробуйте require вместо import.
const mgs = require('merge-graphql-schemas')? @eduPeeth
var merge-graphql-schemas = require('merge-graphql-schemas');, и если он работает, вы сможете использовать merge-graphql-schemas в качестве ссылки.
Это работает, однако мне интересно знать, почему! @eduPeeth
@Seltiix, Рад, что у вас сработало. Пожалуйста, примите ответ, если он вам помог. Спасибо.





Попробуйте const merge-graphql-schemas = require('merge-graphql-schemas');
Есть некоторые функции, которые не полностью совместимы с ES6, когда дело касается Node.js. Например, если вы попытаетесь использовать файловую систему fs, используя указанный выше стиль импорта, это не сработает, хотя TS Lint предложит вам именно это.
пробовали импортировать через -
/// <reference path = "merge-graphql-schemas.d.ts"/>?