TL; DR:将d3导入es6模块的文档化方法失败.这样做的正确方法是什么?我的猜测是文档假定我使用的工作流程可以解决这些问题
详细信息:d3 4.x的自述文件说:
D3使用ES2015模块编写.使用Rollup,Webpack或首选捆绑包创建自定义捆绑包.要将D3导入ES2015应用程序,请从特定D3模块导入特定符号:
从"d3-scale"导入{scaleLinear};
或者将所有内容导入命名空间(此处为d3):
从"d3"导入*为d3;
然而,当我yarn add d3
使用es6脚本标记时,这无法工作:
<html>
<head>
<title>D3</title>
</head>
<body>
<script type="module">
import * as d3 from "./node_modules/d3"
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
无法加载模块脚本:服务器使用非JavaScript MIME类型"text/html"进行响应.对每个HTML规范的模块脚本强制执行严格的MIME类型检查.
用以下内容替换导入:
import * as d3 from "./node_modules/d3/index.js"
Run Code Online (Sandbox Code Playgroud)
..给出了这个错误:
未捕获的TypeError:无法解析模块说明符'd3-array'