#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’, который, очевидно, не найден.