"Cannot read property 'children' ", в чем проблема?

Привет!
Я никогда не использовал node.js, но меня очень заинтересовал дынный проект (конвертирует figma в Html ) . Я сделал все по инструкции. открыл проект через «JetBrains WebStorm». node 10.15.3 LTS

C:\nodejs\figma-api-demo-master\figma-to-react>node main.js NenS4ISbne6VYlkmnyX3MdYP

TypeError: Cannot read property 'children' of undefined at main (C:\nodejs\figma-api-demo-master\figma-to-react\main.js:94:22) at processTicksAndRejections (internal/process/next_tick.js:81:5)

как исправить ошибку?

Ошибка в том что у переменной в которой значение null попробовали взять свойство .children.

Ты точно следуешь всем ограничениям, опиcанным в репозитории? Плюс там еще и дисклеймер что

This demonstrates using the Figma REST API to convert a Figma document to React Components. Disclaimer: this code is likely incomplete, and may have bugs. It is not intended to be used in production. This is simply a proof of concept to show what possibilities exist.

Спасибо, что обратили внимание на мой вопрос.
Да, делаю все по инструкции.

  1. Почему строка 94 выдает null? За это отвечает функция на 97 строке(когда нету “#” и объект скрытый то ставиться null), или там еще есть какие то условия?
    Код main.js
    Файл дизайна (https://www.figma.com/file/NenS4ISHne6VYBBmnyX3MdYP/Untitled?node-id=0%3A1), в котором стоят в главных фреймах “#”

  2. В инструкции указанно, что нужно прописать в командную строку, дополнительно к запуску(…/node main.js), ключ дизайн проекта и токен. Может быть можно вставить ключ дизайн проекта в код main.js и запустить по другому, потому что там стоит функция на количество прописаных слов в командную строку

Код начинается с ajax запроса к api. В ответе ожидается что будет объект со свойством document, но, судя по ошибке, его нет. Залоггируй в консоль что возвращает запрос:

let data = await resp.json();

const util = require('util')
console.log(util.inspect(data))

Кажется ссылка не на тот код о котором говоришь.

Ключ проекта заходит последним аргументом. Я проверил со своим ключом и своим документом, запускается без проблем для их файла примера VGULlnz44R0Ooe4FZKDxlhh4

node main.js VGULlnz44R0Ooe4FZKDxlhh4 9408-9707a75f-6f43-4d73-a42a-79d2613aa241

и генерирует в итоге какой-то код.

Попробуй запустить сборку с их файлом и своим токеном. Если сработает, а потом не сработает с твоим файлом, значит дело в файле. Там уже удаляй по половине компонент чтобы понять какой именно компонент не срабатывает корректно.

1 лайк

Спасибо большое, ваш второй совет сработал .
Проблема была в том что я вводил токен код неправильно с “<>” .

Вопрос :

In the example document you can see that we have one top level frame named #Clock . The component resulting from this will be exported in src/figmaComponents.js as MasterClock , a React.PureComponent .

но когда названия фрейма другое ( например #car), то в файле index.js не меняется имя файла, а остается прежним.
например : frame #one = masterone , frame #two = должно быть mastertwo, а остается masterone.
Как сделать так,что бы названия не надо было менять каждый раз в ручную, а оно менялось автоматически?

Не уверен что сработает. Попробуй удалить все файлы, а потом запустить генерацию заново.

И давай сразу на “ты” (если удобно), тут все свои.