在单个HTML页面中使用Nivo图形库(React)



我有一个带有 React 的 HTML 页面(手动构建,没有任何工具,只是一个文本编辑器(。 此页面工作正常。现在,我想添加一个带有NIVO库的PIE图表。

当我添加脚本 (CDN( 时,我在控制台中收到以下错误:

exports is not defined

我可以通过创建一个假exports var = {}来解决这个问题(这是一个很好的解决方案吗?

但是我有一个新的错误:

require is not defined

这是否意味着来自 NIVO 的 CDN 链接不正确?如何解决这个问题?

替代方案:我愿意使用另一个与 React 一起工作的库。但我只想使用 CDN 链接和文本编辑器来实现这一点。

完整的 HTML 文件:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Batch stats</title>
<script>let exports = {};</script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script crossorigin src="https://unpkg.com/react@16.7.0/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16.7.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@nivo/pie@0.61.1/dist/nivo-pie.cjs.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
function Page(props) {
return (
<div>
<h1>Hello World</h1>
<div>How to add a PIEChart ?</div>
</div>
);
}
ReactDOM.render(<Page version="v3"/>, document.getElementById('root'));
</script>
</body>
</html>

谢谢

Nivo 不支持它。

您应该使用 UMD 构建,但是,您需要一堆额外的 依赖项,包括使用现代 JS 的 D3 包 特征。

https://github.com/plouc/nivo/issues/959

最新更新