#javascript #require #adobe-illustrator
#javascript #требуется #adobe-illustrator
Вопрос:
Я написал JavaScript для Adobe Illustrator, чтобы автоматически добавлять текстовые метки к фигурам. Проблема в том, что фигуры иногда имеют нечетные формы (например, U f.e.), Поэтому трудно найти визуальный центр фигур, лежащих внутри фигуры, для размещения текстовой метки. Я нашел следующий алгоритм:
https://blog.mapbox.com/a-new-algorithm-for-finding-a-visual-center-of-a-polygon-7c77e6492fbc
который, вероятно, справился бы с этой задачей, поэтому я попытался использовать его в моем Illustrator JavaScript. У меня нет опыта в написании JavaScript. Проблема в том, что с помощью этого алгоритма мне нужно импортировать модуль с именем ‘tinyqueue’, добавив следующую строку (строка 3 файла polylabel.js по ссылке выше):
var Queue = require('tinyqueue');
При попытке запустить мой скрипт я получаю следующее сообщение об ошибке Illustrator:
Error 24: require is not a function. Line: 3 -> var Queue = require('tinyqueue');
Интересно, возможно ли в Illustrator JavaScript импортировать модуль ‘tinyqueue’? Если да: не могли бы вы, пожалуйста, проинструктировать меня, как это сделать?
Заранее большое спасибо за вашу помощь!
Комментарии:
1. Вы
node.js
установили?2. Привет, Озгур, спасибо за твой ответ! Я установил node.js ( nodejs.org ) как вы предложили на моем ПК с Windows 10, используя мастер установки Windows для Node.js (включая зависимости). До сих пор я не запускал никаких дополнительных команд для установленных файлов. Как уже упоминалось, я совсем новичок в JavaScript. Я думаю, теперь мне нужно включить файл .js из node.js устанавливать каталоги поверх моего скрипта Illustrator .js? например, например: #включить ‘ C:/Program Файлы/nodejs/node_modules/npm/<some_file.js >’Не могли бы вы, пожалуйста, проинструктировать меня, как использовать node.js в сценариях Illustrator? С уважением!
3. Привет, Хоцци, с помощью командной строки перейдите в папку, в которой находится ваш проект. Введите
npm init -y
и нажмите enter. Это создаст файл package.json. Затем введитеnpm install tinyqueue
и нажмите enter. Он загрузит и установит все необходимые файлы. Затем вы можете использоватьvar Queue = require('tinyqueue');
в своем коде4. Привет, Озгур, спасибо за твой ответ! Я смог выполнить свой скрипт с помощью node.js . К вашему сведению: похоже, что «require» и внешние модули не поддерживаются для Adobe Illustrator JavaScript (стиль ES3), по крайней мере, так мне сказали сотрудники Adobe, см. community.adobe.com/t5/illustrator /…
5. Привет, hozzi.fozzi, я рад, что вы решили эту проблему