2016-09-28 172 views
1

我嘗試使用打字稿使用numbro JS庫。 他們numbro.d.ts出口的東西一樣,導入導出默認打字稿

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); 

現在,如果我嘗試執行這段代碼,我有這樣的錯誤:如果我手動更改JS來

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

它的工作原理

numbro_1.default is not a function 

。 我錯過了什麼嗎?這是一個問題,在他們的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