繁体   English   中英

TypeScript:导入没有类型定义的ES2015模块

[英]TypeScript: import an ES2015 module without type definitions

我有一个正在运行的ES2015项目,我想将该项目迁移到TypeScript。

在我的解决方案中,我使用ES2015导入来导入3rd-pary模块(通过npm安装),如下所示:

import {ClassXY} from 'moduleXY'

在我的项目中设置TypeScript后,TypeScript编译器报告以下错误:

error TS2307: Cannot find module 'moduleXY'

如何在TypeScript中使用上述ES2015 import语句?

我找比安装相应的其他的解决方案.d.ts通过声明typings ......让我们假设模块moduleXY是不分配自己的图书馆.d.ts声明,也没有对DefinitelyTyped可用的声明(或声明已过时)。

我是否必须为模块moduleXY的类型定义创建一个存根? 我将如何以最小的努力做到这一点?

如果没有模块的类型,则可以像常规commonjs模块一样require

declare require:any;

const moduleXY:{
    classXY:any
} = require("moduleXY");

在.ts文件中,并确保该文件包含在Typescript编译器中。 您不需要完全声明模块,在开始添加类型的地方仍然会受益。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM