Как я могу импортировать RealtimeDragSelectingTool в go.js ?

#javascript #gojs

#javascript #gojs

Вопрос:

Я использую go.js как модуль npm, через Webpack. Я хотел бы попробовать RealtimeDragSelectingTool (https://github.com/NorthwoodsSoftware/GoJS/blob/master/extensions/RealtimeDragSelectingTool.js) но способ использования в предоставленной документации не работает. Я импортирую его следующим образом:

 import RealtimeDragSelectingTool from 'gojs/extensions/RealtimeDragSelectingTool'
  

Если я использую go.GraphObject.make(RealtimeDragSelectingTool) , возникает следующая ошибка:

Для GraphObject.make требуется функция класса или имя класса GoJS или имя конструктора объектов, а не: [object объект]»

Что я делаю не так?

Ответ №1:

 import { RealtimeDragSelectingTool } from './gojs/extensionsTS/RealtimeDragSelectingTool';
  

Существующие файлы JS в extensionsTS каталоге представлены в формате модуля UMD.

Комментарии:

1. Я добавил его, но если я использую команду npm run dev, выдается следующее предупреждение: Критическая зависимость: функция require используется таким образом, что зависимости не могут быть статически извлечены

2. Попробуйте использовать относительный путь. Для этих примеров в extensionsTS каталоге также требуются эти классы расширений.

3. Спасибо за ваш ответ. Я думаю, проблема в том, что RealtimeDragSelectingTool.ts начинается с этого: import * as go from '../release/go' который указывает на основной каталог gojs. Но я импортирую его в компонент, где ‘gojs/extensionsTS/RealtimeDragSelectingTool.ts’ является псевдонимом для ${project_directory}/node_modules/gojs/extensionsTS/RealtimeDragSelectingTool.ts , что означает, что он разрешит ‘../release /go’ как ‘${component}/../release / go’, который, очевидно, не найден.