draft js 服务端node 执行

来源:互联网 发布:clothcard淘宝有吗 编辑:程序博客网 时间:2024/06/09 00:08

draftjs 的绘制转换本身是在 浏览器中执行的,如果希望服务端进行执行相关方法,需要模拟一个dom 环境,如下DEMO 中使用了 jsdom 进行模拟

var React = require('react');var ReactDOMServer = require('react-dom');var {    ContentState,convertToRaw,convertFromHTML    }   =  require('draft-js');const jsdom = require("jsdom");const { JSDOM } = jsdom;const dom = new JSDOM();document = dom.window.document;HTMLElement = require("jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl").implementation;HTMLAnchorElement = require("jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl").implementation;var blocksFromHTML = convertFromHTML("<div>123</div>");var data2 = ContentState.createFromBlockArray(    blocksFromHTML.contentBlocks,    blocksFromHTML.entityMap);var r = convertToRaw(data2)console.log(r)

执行,可以看到输出的代码

node index.js

这里写图片描述