пакеты npm или API Node.js в плагинах XD - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь создать плагин для Adobe XD. Я хотел бы использовать несколько пакетов npm вместе с некоторыми API-интерфейсами Node.js внутри моего кода. Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Вы можете использовать некоторые npm-пакеты в вашем плагине Adobe XD, но вы должны иметь в виду следующие ограничения:

  • XD require не соответствует разрешению в стиле узла. То есть require('module') не будет автоматически преобразовано в node_modules/module/index.js. Для решения этой проблемы вам понадобится пакет, такой как webpack . Пример использования webpack и React приведен в примере ui-hello-реаги * .

  • Среда JavaScript XD не предоставляет большого количества API узлов, на которые могут положиться многие модули узлов. Например, пакеты npm, использующие модуль Node's fs, не будут работать внутри плагинов Adobe XD. Однако чисто алгоритмические npm-пакеты должны работать, если они зависят только от самой спецификации JavaScript.

  • Кроме того, среда HTML5 DOM API, предоставляемая Adobe XD, может оказаться недостаточной, если ваш пакет npm использует определенные API-интерфейсы браузера. Например, API-интерфейс Web Audio недоступен для подключаемых модулей Adobe XD, поэтому любые пакеты npm, требующие использования этого модуля, не будут работать.

Для некоторых пакетов может быть достаточно добавить заглушки или полифилы. Например, вы можете заглушить requestAnimationFrame, если модуль требует этого, например:

global.requestAnimationFrame = cb => cb();

Теперь это не функционал rAF, но его может быть достаточно для используемого вами пакета.

0 голосов
/ 08 ноября 2018

Страница поддержки Javascript говорит, что вы можете использовать некоторые пакеты npm (для некоторых может потребоваться веб-пакет). Однако apis Node.js не поддерживаются.

Могу ли я использовать пакеты npm или API-интерфейсы Node.js?

Вы можете использовать некоторые пакеты npm без изменений, но велики шансы, что вам понадобится использовать веб-пакет или накопительный пакет, чтобы создать пакет.

Сами API-интерфейсы Node.js не поддерживаются.

...