1
我有一个可以工作的ES2015项目,我想迁移到TypeScript。TypeScript:导入没有类型定义的ES2015模块
在我的解决方案我使用ES2015进口导入3-pary模块(通过NPM安装)是这样的:
import {ClassXY} from 'moduleXY'
在我的项目设置打字稿后,打字稿编译器报告以下错误:
error TS2307: Cannot find module 'moduleXY'
我怎样才能得到在TypeScript中工作的上述ES2015导入语句?
我找比通过typings
安装相应的.d.ts
声明以外的解决方案......我们假设模块moduleXY
是不分配自己的.d.ts
声明,也没有声明中使用,在DefinitelyTyped(或声明库已过时)。
我必须为模块moduleXY
的类型定义创建存根吗?我将如何以最小的努力做到这一点?
如果您使用模块加载器/打包器,这是否会执行任何操作以确保给定模块实际上被加载? – StriplingWarrior
@StriplingWarrior遗憾的不是,但如果你使用WebPack和ts-loader,你可以使用require而不是import来加载模块 – Tadwork
这似乎不工作......我得到一个编译错误:''{'expected'。 ..所以我认为声明的声明应该是'declare module'react-redux'{};'...这样摆脱了最初的编译错误('Can not find module ...')...但是TS仍然无法解决从'moduleXY'导入{ClassXY};'...由此产生的错误是现在'模块“moduleXY”没有导出成员'ClassXY'' – jbandi