Мне было интересно, могу ли я использовать импорт ES6 из моих плагинов XD.
Когда я, например, использую import Vue from 'vue'
, задача сборки завершается успешно, однако XD выдает ошибку в консоли разработчика при загрузке плагина:
Plugin Error: Error loading plugin <settings>/develop/my_plugin
Plugin TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
at Module.<anonymous> (<settings>/develop/my_plugin/main.js:14367:16)
at Module../src/router.js (<settings>/develop/my_plugin/main.js:14368:30)
at __webpack_require__ (<settings>/develop/my_plugin/main.js:21:30)
at Object../src/main.js (<settings>/develop/my_plugin/main.js:14267:16)
at __webpack_require__ (<settings>/develop/my_plugin/main.js:21:30)
at <settings>/develop/my_plugin/main.js:85:18
at <settings>/develop/my_plugin/main.js:88:10
at b.value (uxp://uxp-internal/home/ubuntu/jenkins/workspace/Torq/torq-native/release-3.3.8/build/modules_gen/js/runtime/src/js/runtime_scripts_loader.js:88:3563)
at b.value (uxp://uxp-internal/home/ubuntu/jenkins/workspace/Torq/torq-native/release-3.3.8/build/modules_gen/js/runtime/src/js/runtime_scripts_loader.js:88:1015)
at d.value (uxp://uxp-internal/home/ubuntu/jenkins/workspace/Torq/torq-native/release-3.3.8/build/modules_gen/pluginmanager/src/js/pluginmanager_scripts.js:95:2060)
at convertPluginErrorToString (plugins/PluginErrorUtil.js:1:198)
at safeGetStackTrace (plugins/PluginErrorUtil.js:1:339)
at internalFormatPluginError (plugins/PluginErrorUtil.js:1:1073)
at internalReportPluginError (plugins/PluginErrorUtil.js:1:1171)
at Object.reportPluginError (plugins/PluginErrorUtil.js:1:1603)
at loadPlugin (plugins/PluginLoader.js:1:1277)
at plugins/PluginLoader.js:1:8993
at Array.forEach (<anonymous>)
at reloadPlugins (plugins/PluginLoader.js:1:8967)
at Artwork.history.waitForCurrentEditBatch.then (plugins/PluginLoader.js:1:9642)
Я начал с примера диалога Hello Vue здесь и преобразовал его в Panel - но та же ошибка возникает для примера диалога. В этом процессе не были изменены package.json и webpack.config.js, поэтому libraryTarget
остается commonjs2
. Нужен ли мне дополнительный плагин для разрешения импорта модуля ES6?
В другом потоке здесь не упоминается, что импорт и экспорт ES6 поддерживаются Adobe XD: Можете ли вы использовать функции ES2015 + (ES6) в подключаемых модулях Adobe XD?
Поскольку у меня есть распространенная база кода, использующая импорт и экспорт ES6, я хотел бы добавить ее и использовать в плагине, не заменяя каждый оператор import
необходимым оператором require
.
Если потребуется, я могу привести минимальный пример.
Спасибо за вашу помощь.
Бест, Дэниел