似乎只需要 VS 和 GTK 来构建 konva 所需的节点画布。
请原谅我,因为我是一个完整的新手,但是有没有其他方法可以做到这一点,而不必下载和安装一堆我永远不会用于其他任何东西的巨大的东西?整个过程对我来说似乎很愚蠢,因为现在大多数浏览器都原生支持 HTML5 画布。
似乎只需要 VS 和 GTK 来构建 konva 所需的节点画布。
请原谅我,因为我是一个完整的新手,但是有没有其他方法可以做到这一点,而不必下载和安装一堆我永远不会用于其他任何东西的巨大的东西?整个过程对我来说似乎很愚蠢,因为现在大多数浏览器都原生支持 HTML5 画布。
您可以Konva
在 NodeJS 环境中使用。对于这种情况node-canvas
是必需的。所以你必须为 in 安装所有依赖项。
可能你不需要 NodeJS。您可以使用浏览器环境。对于这种情况node-canvas
,不需要。演示
我找到了答案,很简单,我错过了整整一个星期!
只做一个npm install konva react-konva --save-dev
,无需安装node-canvas
。
在我像这样在组件文件的开头导入 konva 之前
import {Layer, Rect, Stage, Group} from 'react-konva';
但是这是在创建 DOM 之前加载的,所以 webpack 无法解析“canvas”,这导致了
Could not resolve module 'canvas'
例外。
我通过将其移至 componentDidMount 或 render 方法使其工作:
render() {
const {Layer, Rect, Stage, Group} = require('react-konva');
return (
<div ref="containerDOM">
<Stage width={700} height={700}>
<Layer>
<Rect
width="50"
height="50"
fill="green"
/>
</Layer>
</Stage>
</div>
);
}