2015-11-13 145 views
0

我是一位經驗豐富的流星開發人員,也是d3的經驗豐富......但我不能讓他們一起工作!d3.js流星中未定義

我曾嘗試:

​​,它崩潰併產生:

d3 is not defined

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>崩潰併產生:

d3 is not defined

<script src="d3.min.js" charset="utf-8"></script>,在我的項目的頂級源目錄,其崩潰併產生:

TypeError: Cannot call method 'querySelector' of undefined

(前兩個都在我的index.html文件的文件頭)

所有的同時,D3仍然是不確定的,我的瀏覽器。

我更新了我的所有軟件包和流星,並且除了d3js:d3之外還關閉了每個流星軟件包。

尋找一個解決方案(對我的潛在白癡)或工作。

編輯

添加: pete:jsdom產生新的錯誤消息:

/Users/Admin/.meteor/packages/pete_jsdom/.0.0.2.1uo6lix++os+web.browser+web.cordova/npm/node_modules/jsdom/lib/jsdom.js:3 `jsdom 4.x onward only works on io.js or Node.js 4 or newer: https://github.co

+0

你所說的第一個'崩潰意味着和produces'?這是什麼時候發生的?已經在你運行'meteor add'或者只有當你啓動應用程序時? –

回答

2

在我看來,你有其他地方的錯誤。下面的作品在我的機器上完美的罰款(OSX):

meteor create d3 
cd d3 
meteor add d3js:d3 
meteor 

然後,打開瀏覽器,我可以在控制檯下:

> typeof(d3) 
"object" 

> _.keys(d3) 
["version", "ascending", "descending", "min", "max", "extent", "sum", "mean", "quantile", "median", "variance", "deviation", "bisectLeft", "bisectRight", "bisect", "bisector", "shuffle", "permute", "pairs", "zip", "transpose", "keys", "values", "entries", "merge", "range", "map", "nest", "set", "behavior", "rebind", "dispatch", "event", "requote", "selection", "ns", "select", "selectAll", "mouse", "touch", "touches", "interpolateZoom", "color", "hsl", "hcl", "lab", "rgb", "functor", "xhr", "dsv", "csv", "tsv", "timer", "round", "formatPrefix", "time", "locale", "format", "geo", "geom", "interpolateRgb", "interpolateObject", "interpolateNumber", "interpolateString", "interpolate", "interpolators", "interpolateArray", "ease", "interpolateHcl", "interpolateHsl", "interpolateLab", "interpolateRound", "transform", "interpolateTransform", "layout", "random", "scale", "svg", "transition", "text", "json", "html", "xml"] 
+0

Im getting '''typeof(d3) 「undefined」''' – redress

+0

太奇怪了......我創建了一個新的meteor實例並且d3加載正常。猜猜我的東西不好。謝謝@christian – redress

+0

很高興我可以幫到 –

1

不確定你是否已經包含了這一點,但try adding JSDOM

As of d3#3.5.4, JSDOM is a development dependency. You will need to include it as a dependency.

+0

檢查更新張貼...不知道這是正確的做法 – redress

+0

@redress Hm,你爲什麼不能升級到最新版本的節點? 4.0或5.0會做。 – nick

0

確保只在客戶端上引用D3。它不適用於服務器端,因此在服務器端使用它會使應用程序崩潰。

0

使用

meteor npm install d3 

,而不是

meteor add d3js:d3 

它爲我

+0

請先看看這個[如何回答](https://stackoverflow.com/help/how-to-answer) 這個問題已經回答了,顯然,你可以添加你的答案在這裏。但是在回答之前你需要了解一些觀點。首先,不要添加之前添加了相同代碼或建議的答案。其次,如果用戶非常具體地詢問了問題以及他需要解決什麼問題,請不要添加過於複雜的答案。第三,如果您想就回答或問題提出任何建議,您可以添加評論。 –

+0

我不太確定我的答案與此處的任何答案相同。我的建議是使用d3 npm包而不是流星包。 – Xiaoxing