在基于打字本的应用程序中,我使用了优秀的Cleave.js库。Cleave.js的用法如下:
import * as Cleave from 'cleave.js';
new Cleave(element).[whatever]为了帮助开发,我正在为Cleave.js开发类型,但是,我在类型记录中找不到允许我指定上述构造的模式。
当我使用export class Cleave { ...} export default Cleave;时
在上述情况下,打字本投诉:
TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.当我导入作为import Cleave from 'cleave.js'的default字段时,类型记录试图在导入的对象上找到明显不存在的default字段。
如何为新的可编程模块编写类型?
发布于 2017-09-15 17:11:03
这不管用。import * as X from 'y'语法创建模块命名空间对象。这意味着它是不可调用的。
您应该使用语法:import Cleave = require('cleave.js')。
要了解如何编写打字,请查阅手册中的http://www.typescriptlang.org/docs/handbook/declaration-files/templates.html和相关章节。
https://stackoverflow.com/questions/46244477
复制相似问题