小编Hie*_*Lee的帖子

将konva导出到服务器端的图像而无需渲染

我有一个图像模板,当用户在模板中更改图像时,服务器将自动为用户呈现新图像。这就是我想要做的。

我有一个来自我之前创建的模板的 json。现在我想通过 json 使用 Konva init 在服务器端(expressjs,restful api)导出它。

当我尝试此代码时

import {Stage} from 'konva/lib/core';
app.get('/', (_req: Request, res: Response, _next: NextFunction) =>
    res.status(200).send({
        message: loadKonvaJson(),
    }),
);


const loadKonvaJson = () => {
    let stage = new Stage({
        container: 'container'
    });

    return stage.toDataURL({pixelRatio: 1});
}
Run Code Online (Sandbox Code Playgroud)

我有一个错误

ReferenceError: document is not defined
    at Object.createCanvasElement (C:\Users\victorlee\Desktop\OmgGame\render-image-server\node_modules\konva\lib\Util.js:355:22)
    at getDevicePixelRatio (C:\Users\victorlee\Desktop\OmgGame\render-image-server\node_modules\konva\lib\Canvas.js:26:30)
    at SceneCanvas.Canvas (C:\Users\victorlee\Desktop\OmgGame\render-image-server\node_modules\konva\lib\Canvas.js:46:74)
    at new SceneCanvas (C:\Users\victorlee\Desktop\OmgGame\render-image-server\node_modules\konva\lib\Canvas.js:112:28)
    at Stage._buildDOM (C:\Users\victorlee\Desktop\OmgGame\render-image-server\node_modules\konva\lib\Stage.js:717:29)
    at new Stage (C:\Users\victorlee\Desktop\OmgGame\render-image-server\node_modules\konva\lib\Stage.js:62:15)
    at loadKonvaJson (C:\Users\victorlee\Desktop\OmgGame\render-image-server\index.ts:20:17)
    at exports.app.get (C:\Users\victorlee\Desktop\OmgGame\render-image-server\index.ts:17:14)
    at Layer.handle [as …
Run Code Online (Sandbox Code Playgroud)

node.js express konvajs

1
推荐指数
1
解决办法
888
查看次数

标签 统计

express ×1

konvajs ×1

node.js ×1