SyntaxError: Неожиданный токен {в JSON в позиции 101033 в JSON .parse (<anonymous>) исправить? - PullRequest
0 голосов
/ 05 августа 2020

Итак, я пытаюсь завершить миссию с открытым исходным кодом в TwilioQuest, но я не могу, потому что терминал выдает мне ошибку, когда я запускаю эту команду:

git commit -m "feat(pixels): add my new pixel"

Он сообщает мне, что есть ошибка в один из скриптов, который является этим и написан на Javascript:

const fs = require('fs');
const path = require('path');
const { promisify } = require('util');
const { sortPixels, pixelsToString } = require('../utils/pixels-helper');

const readFile = promisify(fs.readFile);
const writeFile = promisify(fs.writeFile);

const pixelFilePath = path.join('_data', 'pixels.json');

readFile(pixelFilePath, { encoding: 'utf8' })
  .then(pixelFileData => {
    const pixels = JSON.parse(pixelFileData);

    const sortedPixelString = pixelsToString(sortPixels(pixels));

    writeFile(pixelFilePath, sortedPixelString);
  })
  .catch(console.log);

Ошибка, которую он дает мне для этого скрипта, такова:

SyntaxError: Unexpected token { in JSON at position 101033
      at JSON.parse (<anonymous>)

       8 |   const filePath = path.resolve(__dirname, '../_data/', dataJsonFile);
       9 |   const pixelJsonString = await readFile(filePath, 'utf8');
    > 10 |   return JSON.parse(pixelJsonString);
         |               ^
      11 | }
      12 |
      13 | describe('pixels', () => {

О чем эта ошибка и как исправить?

1 Ответ

0 голосов
/ 05 августа 2020

Что касается возможностей git в этом вопросе: эта ошибка вызвана пользовательским скриптом, скорее всего, .git/hooks/pre-commit.

Вы можете открыть .git/hooks/pre-commit в редакторе, чтобы посмотреть, как тестируется ваш код, и выполните в своем терминале .git/hooks/pre-commit, чтобы увидеть, прошел ли тест или нет.

Что касается отладки javascript: используйте свои обычные инструменты и методы для отладки.

Например:

  • вы можете добавить console.log(filePath) перед вызовом JSON.parse, чтобы увидеть какой файл был открыт, или console.log(pixelJsonString), чтобы увидеть, что возвращается из вашей функции,
  • вы можете использовать отладчик узла, чтобы следить за выполнением вашей программы ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...