我想學習 D3 庫。所以我通過 npm 安裝了它。過了一會兒,我在 svg 物件上應用轉換時遇到了一個問題(請參閱我的原始問題:transision() 導致 Uncaught TypeError with D3 version 7.2.1)。我被建議捆綁圖書館來解決這個問題。
我一直在努力使用 browserify 捆綁 D3 庫。我已經完成了這些步驟:
- 在模塊檔案中使用 require 函式并將其作為引數提供庫名稱(“d3”)
- 在 html 檔案中參考了模塊檔案和 bundle.js 檔案
- 在包含模塊檔案的目錄中運行命令:browserify module.js > bundle.js
運行命令后,我得到了這個:
....\node_modules\d3\src\index.js:1 export * from "d3-array"; ^ ParseError: 'import' 和 'export' 可能只與 'sourceType: module' 一起出現
我完全不知道我做錯了什么。
uj5u.com熱心網友回復:
在我給你一個解決方案之前,我想給你提供實際問題的背景。
Browserify 允許您將多個 javascript 檔案合并為一個檔案。這實際上只是使您無需<script>在 html 中包含多個標簽。
從我的角度來看,它是一個更干凈、更簡單的 webpack/rollup 版本,但功能較少。
D3 似乎是用支持匯入/匯出陳述句的 javascript 版本撰寫的,并使用 Rollup 將其轉換為瀏覽器(和 browserify)可以理解的 vanilla javascript。
答案
匯入已經轉譯的 d3 的最終版本。
const d3 = require('d3/dist/d3');
// do something with d3 here
const targetElem = d3.select('#target');
targetElem.text('HELLO WORLD');
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/392992.html
標籤:javascript d3.js 捆 浏览器化
