2016-01-12 40 views
0

我無法在用TypeScript編寫的Angular2項目中使用cal-heatmap。任何幫助如何得到這個將不勝感激。在Typescript Angular 2項目中使用通過npm安裝的JS庫

我正在使用webpack(webpack.config.js)捆綁應用程序。這裏是ts.config。我用npm和tsd安裝了cal-heatmap。在我的應用程序的打字稿代碼,我會做這樣的:

import * as calheatmap from 'cal-heatmap'; 

然而,當我在瀏覽器中打開應用程序calheatmap仍然是不確定的,沒有什麼是進口的。該庫基於d3和d3本身的作品。使用相同的包安裝過程以下只是工作我的應用程序中:

import * as d3 from 'd3'; 

我懷疑CAL-熱圖無法工作,因爲它JS code(從NPM)或ts.d是不兼容的,但我不知道該怎麼補救這一點。

任何提示將不勝感激,謝謝!

+0

試試這個:'/// ' – Langley

+0

嗨,謝謝你的回覆。這不能解決它和IIRC的參考符號不再需要最新版本的Typescript。 –

+1

http://www.typescriptlang.org/手冊比較「環境內部模塊」和「環境外部模塊」 – Langley

回答

0

好吧,所以我得到了這個工作。不要介意cal-heatmap模塊的類型。他們不輸出任何東西,所以在這種情況下沒有用處。無需安裝。

你可以再做:

import * as CalHeatMap from 'cal-heatmap'; 
... 
new CalHeatMap().init({}); 

之前,我試圖直接調用初始化對CalHeatMap沒有實例,善良的n00b的。

1

我碰到類似的東西。
https://github.com/wa0x6e/cal-heatmap/issues/192

雖然我在使用systemjs。有趣的是在瀏覽器中加載完美的CalHeatMap對象,但沒有加載到組件中。


我導入d3js和c3js這樣,他們完全加載。我注意到的一件事是,其他庫保持對象內部的功能(即d3js中的d3);而在cal-heatmap中,它們正在返回一個函數(如果你在source-code的內部查看,CalHeatMap實際上是一個函數)。

相關問題