fix konva-node

This commit is contained in:
Anton Lavrenov
2019-06-07 15:05:27 -05:00
parent 3e95726b4d
commit 0c858ff591
5 changed files with 69 additions and 1346 deletions

View File

@@ -133,7 +133,7 @@ Then in you javascript file you will need to use
const Konva = require('konva-node'); const Konva = require('konva-node');
``` ```
See file `resources/nodejs-demo.js` for example. See file `konva-node/demo.js` file in this repo as a sample.
# Backers # Backers

View File

@@ -2,9 +2,7 @@ var fs = require('fs');
// relative path here // relative path here
// but you will need just require('konva-node'); // but you will need just require('konva-node');
var Konva = require('../konva-node'); var Konva = require('./');
// console.log(Konva.Util.c);
// Create stage. Container parameter is not required in NodeJS. // Create stage. Container parameter is not required in NodeJS.
var stage = new Konva.Stage({ var stage = new Konva.Stage({

View File

@@ -1,25 +1,33 @@
var Konva = require('konva'); var Konva = require('konva');
var canvas = require('canvas');
var Canvas = require('canvas'); // mock window
Konva.window = { Konva.window = {
Image: Canvas.Image, Image: canvas.Image,
devicePixelRatio: 1 devicePixelRatio: 1
}; };
// mock document
Konva.document = { Konva.document = {
createElement: function() {}, createElement: function() {},
documentElement: { documentElement: {
addEventListener: function() {} addEventListener: function() {}
} }
}; };
Konva.window = new JSDOM(
'<!DOCTYPE html><html><head></head><body></body></html>'
).window;
Konva.document = Konva.window.document;
Konva.window.Image = Canvas.Image;
Konva.Util.createCanvasElement = () => { // make some global injections
return new Canvas(); global.window = Konva.window;
global.requestAnimationFrame = cb => {
setImmediate(cb);
}; };
// create canvas in Node env
Konva.Util.createCanvasElement = () => {
const node = new canvas.Canvas();
node.style = {};
return node;
};
// _checkVisibility use dom element, in node we can skip it
Konva.Stage.prototype._checkVisibility = () => {};
module.exports = Konva; module.exports = Konva;

View File

@@ -25,7 +25,7 @@
}, },
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"canvas": "^1.6.13", "canvas": "^2.5.0",
"konva": "^2.6.0" "konva": "^3.3.2"
} }
} }

1377
konva.js

File diff suppressed because it is too large Load Diff