2017-05-29 7 views
1

我正在評估爲我的RoR應用程序安裝dc.js的各種方法。 npm看起來很方便,因爲它安裝了dc.js及其依賴項:d3.js和crossfilter。我跑npm install dc在安裝dc.js時,npm會錯過引用嗎?

它工作了幾秒鐘,然後返回:

$ npm install dc 

[email protected] /home/fred/55Projets/development/Stairs 
└─┬ [email protected] 
    ├── [email protected] 
    └── [email protected] 

不幸的是,所謂的在我的主頁的第一個功能是

var ndx = crossfilter(data); // Instanciate Crossfilter

這就提出了一個錯誤:ReferenceError: crossfilter is not defined 控制檯。

在Github頁面上,提到了應該手動添加引用的地方......任何想法? 感謝您的幫助!

回答

0

我不知道如何爲您的頁面設置Javascript依賴關係(並且不知道關於RoR的任何信息)。

但是,npm只處理安裝模塊的問題。它不處理如何在頁面中加載Javascript模塊的問題。 dc.js依賴於crossfilter2(crossfilter.js),但它不會自動加載該庫,除非您使用的模塊加載器或捆綁器將爲您執行此操作。

最常見的解決方案是在加載dc.js的相同位置(即在另一個<script>標記中)手動加載crossfilter.js。

自動處理的方法包括(按照時間順序排列)requireJS,browserify,webpack。

Et cetera。這是一個令人厭煩的話題,每年都有新的裝載機和捆綁機取代舊機器人。