0

我正在尝试将绘图库 BokehJS 与使用设置的 React 应用程序一起使用

create-react-app myapp

该库是使用安装的

npm install bokehjs

在 myapp/public/index.html 文件中,添加了以下行(如用户指南的安装部分所述):

<link rel="stylesheet" type="text/css" href="http://cdn.bokeh.org/bokeh/release/bokeh-1.4.0.min.css">
<link rel="stylesheet" type="text/css" href="http://cdn.bokeh.org/bokeh/release/bokeh-api-1.4.0.min.css">

<script type="text/javascript" src="http://cdn.bokeh.org/bokeh/release/bokeh-1.4.0.min.js"></script>
<script type="text/javascript" src="http://cdn.bokeh.org/bokeh/release/bokeh-api-1.4.0.min.js"></script>

我现在想重新创建 BokehJS 用户指南中的一些示例。在 myapp/App.js 中导入模块

import Bokeh from 'bokehjs'

没有错误。但是如果我现在尝试访问一些模块的函数/对象,比如

Bokeh.Plot()

或者

Bokeh.LinAlg

编译后浏览器显示如下错误:

TypeError: undefined is not an object (evaluating 'bokehjs__WEBPACK_IMPORTED_MODULE_3___default.a.LinAlg')

任何解决此问题的帮助将不胜感激。

编辑:当脚本包含在 html 文件中时,浏览器开发者工具中的控制台也会显示以下错误:

Failed to load resource: the server responded with a status of 403 ()
4

2 回答 2

0

我正在运行 create-react-app React 16.12、NPM 6.13.6、Bokeh 2.0、ES6,这对我有用:

  • 使用安装 BokehJSnpm install @bokeh/bokehjs

  • 在我要嵌入散景图的模块中:import { embed } from '@bokeh/bokehjs';

  • 在收到 Axios 获取请求的响应后嵌入绘图:embed.embed_item(response.data, 'myplot');并将 JSX 包含<div id='myplot' className="bk-root"></div>在所需位置。

于 2020-03-12T09:25:34.850 回答
0

它应该bokeh-1.4.0而不是bokeh-1.14.0在您的script链接中。

进一步就css链接而言:
复制和粘贴http://cdn.bokeh.org/bokeh/release/bokeh-1.4.0.min.csshttp://cdn.bokeh.org/bokeh/release/bokeh浏览器中的-api-1.4.0.min.css会出现错误,因此看起来这些文件不存在。据我所知,您不再需要这些文件(从 Bokeh v1.3.0 开始)。

另请参阅有关 Discourse 的讨论。

但如果你真的需要它们,你可以使用:

https://cdnjs.cloudflare.com/ajax/libs/bokeh/1.2.0/bokeh.csshttps://cdnjs.cloudflare.com/ajax/libs/bokeh/1.2.0/bokeh.min.css

或者

https://cdn.bokeh.org/bokeh/release/bokeh-1.2.0.min.csshttps://cdn.bokeh.org/bokeh/release/bokeh-1.2.0.css

于 2019-11-18T10:03:36.877 回答