打字稿找不到 .d.ts 文件
Posted
技术标签:
【中文标题】打字稿找不到 .d.ts 文件【英文标题】:Typescript wont find .d.ts files 【发布时间】: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
作为参考。
【参考方案1】:
试试const merge-graphql-schemas = require('merge-graphql-schemas');
在涉及到 Node.js 时,有些功能与 ES6 不完全兼容。例如,如果您尝试使用上述导入样式使用文件系统fs
,它将无法正常工作,即使 TS Lint 会建议您这样做。
【讨论】:
以上是关于打字稿找不到 .d.ts 文件的主要内容,如果未能解决你的问题,请参考以下文章