【问题标题】:Typescript wont find .d.ts files打字稿找不到 .d.ts 文件
【发布时间】:2019-01-02 09:30:47
【问题描述】:

目前正在处理我的一个项目,并想使用一个名为 merge-graphql-schemas 的库。由于模块没有自己的类型,我创建了一个位于 src/types/merge-graphql-schemas.d.ts 的文件

在 merge-graphql-schemas.d.ts 中我写道:

declare module "merge-graphql-schemas";

我的 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="merge-graphql-schemas.d.ts"/> 导入?
  • 你的意思是/// <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 作为参考。

标签: node.js typescript express graphql apollo


【解决方案1】:

试试const merge-graphql-schemas = require('merge-graphql-schemas');

在涉及到 Node.js 时,有些功能与 ES6 不完全兼容。例如,如果您尝试使用上述导入样式使用文件系统fs,它将无法正常工作,即使 TS Lint 会建议您这样做。

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 1970-01-01
    • 2020-04-30
    • 2021-12-05
    • 1970-01-01
    • 2018-09-13
    • 2016-03-03
    • 2019-07-23
    • 2021-07-08
    相关资源
    最近更新 更多