如何在Echarts的關係圖中正確的引用dataTool而不報錯?

官網示例中的 var graph = echarts.dataTool.gexf.parse(xml);
報錯 Cannot read property "gexf" of undefined 是少引用了什麼么?


官方給的樣例是有問題的(主要是該給的dataTool工具沒給),請參照我修改過後的文件:

&
&
&
&
&

如下圖所示:

以上。


強答一發:

陳坤 的回答已經寫出了官方代碼如何嵌入到自己代碼中運行

可是引用datatool的問題在於datatool.min.js可能已經不支持了.非前端人員對此文件內容無研讀能力,從baidu站點,或者那個答主github的鏈接.都報錯,然後我搜了datatool.js出現網站搜的結果

然後複製了完整的js出來不報錯了

Cannot read property "gexf" of undefined

從斷點來看,就是因為

var graph = echarts.dataTool.gexf.parse(xml);

echarts 對象從echarts.js中已經 獲取, datatool對象是undefined .如果按照我這個做法,datatool有內容了,說明我的方法可以解決此問題

開發環境:chrome+vs.

順便,運行時需要載入 .gexf文件內容,在vs調試使用iis express時候說沒有許可權需要 配置Mime

格式配了 application/octet-stream,iis可以搞定,iisexpress搞了好幾個格式都不行(text/plan)什麼的

然後我把.gexf改為.xml照樣能載入xml內容.

搞這麼個gexf存儲xml文件,算不算人為增加門檻?


Failed to load file:///E:/Echarts/data/asset/data/les-miserables.gexf: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

send @ jquery-3.2.1.min.js:4這個涉及到跨域問題了。。。。求大神指點


原來 dataTool.js 這個文件要用github的,官方的用不了,坑。最好那個回答,有點啰嗦。說重點就行了嘛。也就是官方那個dataTool.js要換成github的


我也是剛剛才知道!尼瑪坑了我好久,看了你的分析更清楚了


就是這個原因了,找了我一早上。


什麼原因,有知道的嗎?


var echarts = require("echarts");
require("echarts/src/chart/graph");
echarts.dataTool = require("echarts/extension/dataTool");

webpack.config.js

resolve: {
alias: {
echarts$: "echarts/src/echarts.js",
echarts: "echarts",
zrender$: "zrender/src/zrender.js",
zrender: "zrender/src"
}
},


推薦閱讀:

如何保證用戶登錄時提交密碼已經加密?
如何使用nodejs做爬蟲程序?
Websocket為什麼在客戶端向服務端發送報文的時候需要掩碼加密,而服務端向客戶端不需要呢?
SVG 具體的應用場景是怎樣的?為什麼代替 Flash 的是 Canvas 而不是 SVG 呢?
如何評價浙江大學三名教授及一名研究生申請利用 defineProperty 做數據雙向綁定的專利?

TAG:前端開發 | 前端工程師 | 數據可視化 | ECharts |