Несоответствующие скобки: быстрый способ их найти? - PullRequest
11 голосов
/ 29 сентября 2011

Я только что переставил очень большой файл JavaScript.Теперь я получаю «Неожиданный конец ввода».Где-то в этих сотнях функций один потерял (или получил) скобку.Какой самый быстрый способ найти его?

Ответы [ 5 ]

13 голосов
/ 29 сентября 2011

Вы можете попытаться проанализировать ваш файл с помощью lint: http://www.javascriptlint.com/online_lint.php

Если у вас есть проблемы с размером файла, попробуйте разделить его на более мелкие ...

3 голосов
/ 02 октября 2014

Хорошая хитрость, если пропустить фигурную скобку в затмении, это перейти к последней фигурной скобке в исходном модуле и дважды щелкнуть по ней.Это будет подсвечивать весь путь обратно к тому, что ДУМАЕТ, что это соответствующая открытая скобка.То, где он выдвигается назад, неизменно является НАЧАЛО того, где находится проблема, поэтому пропустите эту открытую фигурную скобку и перейдите к следующей и начните двойной щелчок на открытых фигурных скобках, и вы обычно довольно быстро обнаружите, где фигурная скобка отсутствует.Я узнал, что сложный путь с файлом исходного кода с 20 000+ строками кода и получением сотен ошибок без малейшего указания на то, где настоящая проблема заключалась в том, что ошибки стали появляться в коде на тысячи строк раньше.

1 голос
/ 29 сентября 2011

Переформатируйте файл, используя то, что хорошо отступает.Ищите то, что слишком далеко слева.

0 голосов
/ 31 января 2019

Попробуйте парсер Esprima .Он поставляется с валидатором синтаксиса, который даст вам номер строки каждой ошибки.

npm install --global esprima
esvalidate path/to/file.js

output

path/to/file.js:915: Unexpected token )
0 голосов
/ 29 сентября 2011

Минимизация вложенности функций.Это снижает качество кода (с точки зрения удобства сопровождения).

...