2014-12-03 24 views
4

下面是我所做的:在Ember CLI中訪問第三方庫(如D3)的正確方法?

bower install d3 --save 

然後加入Broccoli.js

app.import('bower_components/d3/d3.js'); 

然後在我看來,說:

import d3 from 'bower_components/d3/d3'; 

,並試圖使用它。

這會在啓動應用程序時導致問題。在devtools我看到這個錯誤:

Uncaught TypeError: Cannot read property 'length' of undefined vendor.js:40 
Module vendor.js:52 
define vendor.js:88532 
(anonymous function) vendor.js:88534 
(anonymous function) 

所以我猜,我包括了錯誤的方式。

我試圖避免將東西添加到.jshintrc中,並且將所有導入顯式替換,但目前爲止沒有運氣。所以我也試過:

不要在我的模塊中導入d3,而只需將d3添加到jshint的predef。沒有運氣,同樣的問題。

你們是怎麼做到這一點的?

謝謝!

+6

這絕對不是題目。對於發現這些錯誤的人來說,解決方案非常有用。 – 2014-12-03 22:48:36

回答

2

我安裝了錯誤的loader.js版本。應該是1.0.1,而我有2.1.1。現在一切正常!

相關問題