2017-09-15 1 views
0

Typescript 기반 응용 프로그램에서 우수한 Cleave.js 라이브러리를 사용하고 있습니다. 다음과 같이 Cleave.js가 사용됩니다유형 정의 : 모듈 인스턴스 생성

import * as Cleave from 'cleave.js'; 

new Cleave(element).[whatever] 

개발을 돕기 위해, 내가 Cleave.js에 대한 typings을 개발하고 있어요,하지만 나는 나를 위의 구조를 지정할 수 있습니다 타이프의 패턴을 찾을 수 없습니다.

내가 타이프 위의 경우 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 필드를 찾으려고 시도로서 내가 베기를 가져

.

새로운 모듈에 대한 입력을 작성하는 방법은 무엇입니까?

+0

'* as'을 사용하여 클래스를 가져올 수 없습니다. https://stackoverflow.com/a/39415662/1704166 –

답변

1

이것은 작동하지 않습니다. import * as X from 'y' 구문은 모듈 네임 스페이스 개체를 만듭니다. 그것은 호출 할 수없는 것을 의미합니다.

대신 import Cleave = require('cleave.js') 구문을 사용해야합니다.

타이핑을 작성하는 방법을 배우려면 http://www.typescriptlang.org/docs/handbook/declaration-files/templates.html 및 핸드북의 관련 섹션을 확인하십시오.

+0

을 참조하십시오. 필자는 궁극적 인 질문 인 타이핑을 어떻게 작성해야합니까? – Sebazzz

+0

링크가 업데이트되었습니다. :) – unional

관련 문제