2016-09-28 3 views
1

Я пытаюсь использовать библиотеку js numbro с помощью машинописи. Их numbro.d.ts экспорт питания, как, чтоimport export default typescript

declare const numbro: NumbroStatic; 
export default numbro; 

Так что я попытался очень простой импорт

import numbro from 'numbro'; 
var string = numbro(1000).format('0,0'); 
console.log(string); 

Из машинописи части, которые, кажется, хорошо, я могу TSC мой файл без ошибок. JS сгенерированный код

"use strict"; 
var numbro_1 = require('numbro'); 
var string = numbro_1["default"](1000).format('0,0'); 
console.log(string); 

Теперь, если я пытаюсь выполнить этот код, у меня есть эта ошибка:

numbro_1.default is not a function 

Если я изменяю JS вручную

numbro_1(1000).format('0,0'); 

это работает , Я что-то пропустил? Это проблема в экспорте js или из моего кода?

Благодаря

ответ

0

Использование:

import * as numbro from 'numbro'; 
+1

Дайте мне эту ошибку: «Невозможно запустим выражение, тип которого не имеет сигнатуры вызова ". Согласно разделу экспорта по умолчанию этой страницы, я не предполагаю использовать «*» -> https://www.typescriptlang.org/docs/handbook/modules.html –

+1

Их файл 'numbro.d.ts' кажется ошибаться. Возможно, они используют SystemJS [который добавляет член 'default'] (https://github.com/Microsoft/TypeScript/issues/5285). – Paleo

0

Использование

import numbro = require("numbro"); 

Смотрите также этот ответ: What does "... resolves to a non-module entity and cannot be imported using this construct" mean? почему вы должны это сделать

+1

дайте мне ту же ошибку в строке, которую я пытаюсь использовать. «Невозможно вызвать выражение, чей тип не имеет сигнатуры вызова». on line "numbro (1000) .format ('0,0'); –