импорта по умолчанию больше нет, import * as joint from 'jointjs'
работает просто отлично.Если вам нужен меньший комплект, вы можете выбрать нужные вам детали:
import { dia } from 'jointjs/src/core.mjs';
// import shapes you need
import * as standard from 'jointjs/src/shapes/standard.mjs';
const graph = new dia.Graph([], { cellNamespace: { standard } });
new dia.Paper({
cellViewNamespace: { standard },
el: document.getElementById('paper'),
width: 500, height: 500,
model: graph
});
const rectangle = new standard.Rectangle().size(200, 200).position(100, 100).addTo(graph)
Обратите внимание, что вам нужно быть осторожным с cellViewNamespace
для опции dia.Paper
и cellNamespace
для dia.Graph
в этой настройке.В противном случае вы можете встретить запуск Uncaught Error: dia.ElementView: markup required error
, этот фрагмент - быстрая проверка правильности настройки пространств имен:
const cells = JSON.stringify(graph.toJSON());
graph.clear();
graph.fromJSON(JSON.parse(cells));