2016-07-04 2 views
0

Кажется, что VS и GTK нужны только для создания холста, который требуется konva.Как использовать konva на окнах без Visual studio и GTK

Простите меня, поскольку я полный новичок, но есть ли другой способ сделать это, не загружая и не устанавливая кучу огромных вещей, которые я никогда не буду использовать ни для чего другого? Весь процесс кажется мне глупым, поскольку большинство браузеров изначально поддерживают HTML5-полотно в наши дни.

+0

вы можете увидеть инструкции для создания узла-холст здесь https://github.com/Automattic/node-canvas/ wiki/Установка --- Windows – hoangbv15

ответ

0

Я нашел ответ, это очень просто, что я пропустил его целую неделю!

Просто сделайте npm install konva react-konva --save-dev, без установки node-canvas.

До того как я импортирован konva в начале моего компонента файла, как этот

import {Layer, Rect, Stage, Group} from 'react-konva'; 

Но это загружается до DOM была создана, так WebPack не мог решить «холст», в результате которой в

Could not resolve module 'canvas' 

Исключение.

Я сделал его работу, перемещая это вниз либо componentDidMount или сделать метод:

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> 
    ); 
} 
+0

какая версия веб-пакета вы используете? –

+0

@AhmedHashem жаль, что я не могу вспомнить, так как это было более года назад. на старой версии веб-пакета 1. – hoangbv15

1

Вы можете использовать Konva в среде NodeJS. В этом случае требуется node-canvas. Поэтому вам нужно установить все зависимости для.

Возможно, вам не нужен NodeJS. Вы можете использовать среды браузеров. В этом случае node-canvas не требуется. DEMO

+0

Большое спасибо @lavrton. Я начинаю веб-приложение React Redux с помощью этого шаблона [link] (https://www.reactstarterkit.com/). Он использует только npm и webpack для установки и упаковки модулей (по какой-то причине многие реагирующие шаблоны предпочитают это именно так). В таком случае, что для меня лучше всего сделать? Должен ли я найти еще один шаблон, который использует беседу? – hoangbv15

+0

@ hoangbv15 это нормально. Вы будете использовать узел (и npm) здесь только для создания и установки пакетов. Ваш код будет работать в браузере. – lavrton

+0

Да, но проблема в том, что konva.js затем взрывается в строке 'require ('canvas')' с сообщением об ошибке «Can can find module» canvas ». Я честно считаю, что лучше просто создавать собственные компоненты webGL. ... – hoangbv15