Поэтому я несколько раз сталкивался с этой проблемой, используя Processing (режим p5.js), где, казалось бы, совершенно неожиданно он не хочет компилироваться.
Ошибка гласит: «SyntaxError: Ожидается; но обнаружено [название моей первой переменной]».
Я могу буквально скопировать и вставить код в новый скетч обработки, и он запустится. Просто раздражает то, что мне приходится это делать.
Последнее, что я сделал этот раз перед тем, как он перестал работать, - это переименовать скетч. Я не могу вспомнить, случилось ли это с другими случаями, когда у меня была эта проблема, но держу пари, я бы знал об этом, если бы так.
Будем очень признательны за любые рекомендации о том, как избежать этой проблемы и исправить ее, когда это произойдет.
Спасибо
редактировать Я должен был упомянуть, что если я просто дважды щелкну файл HTML, скетч будет работать нормально. Только когда я пытаюсь запустить его в обработке, я получаю сообщение об ошибке.
редактировать номер два на другом ноутбуке с новой загрузкой обработки такая же ошибка возникает в среде IDE, в то время как скетч запускается, если я просто дважды щелкну файл HTML. Мне осталось верить, что проблема начинается и заканчивается обработкой IDE.
У вас все еще есть проблема, если вы действительно закроете вкладку и снова откроете ее?
Та же проблема, когда я закрываю и открываю снова. Ага, я в режиме P5.js. Не знаю, как сказать вам, как воссоздать проблему. @KevinWorkman
@Anthony Вы читали ссылку минимальный воспроизводимый пример? В нем рассказывается, как опубликовать пример, который мы можем попробовать сами.
@KevinWorkman «… Минимальный - используйте как можно меньше кода, который по-прежнему вызывает ту же проблему» - проблема в том, что сам код не является проблемой, учитывая, что я могу скопировать и вставить его в другой скетч, и он работает. «… Завершено - предоставьте все части, необходимые для воспроизведения проблемы» Я указал все соответствующие части. Обработка в режиме P5.js с ошибкой, не имеющей смысла. «… Проверяемый - протестируйте код, который вы собираетесь предоставить, чтобы убедиться, что он воспроизводит проблему» Сам код работает, поэтому я почти уверен, что он не имеет отношения к делу.
Я не думаю, что let
действителен в обработке.
@ Энтони. Тогда я не знаю, что тебе сказать. Похоже на проблему конфигурации на вашем компьютере. Попробуйте удалить и переустановить Processing, перезагрузить компьютер и все такое. Удачи.
@Anthony, вы должны опубликовать полный код, чтобы нам было легко воспроизвести / протестировать / поддержать. Может быть ошибка режима p5.js в обработке. Вы пробовали запустить отдельный локальный веб-сервер вместо сервера обработки, чтобы проверить, возникают ли у вас те же ошибки?
Итак, вчера мой ноутбук сдался. Сегодня я загрузил процессинг на новый ноутбук, открыл рассматриваемый скетч, попытался запустить его и получил ту же ошибку. Опять же, просто дважды щелкнув файл HTML, скетч будет нормально запущен. Ошибка возникает только в среде IDE обработки. @KevinWorkman в любом случае благодарит вас за помощь.
Это известная ошибка (или, возможно, функция) в режиме p5js в Processing IDE. В этом режиме, по-видимому, есть внутренний парсер JavaScript, который застрял в ES5. Например, следующий код отлично работает в любом крупном браузере:
let x = 0;
let y = 0;
function setup() {
createCanvas(200,200);
background(0);
fill(255);
x = 0;
y = width/2;
}
function draw() {
rect(x,y,10,10);
x = (x+1)%width;
y = (y+random(5))%height;
}
но вы столкнетесь с проблемами, когда попытаетесь работать с ним в режиме p5.js PDE. Проблема исчезает при замене let
на var
. Подобные проблемы возникают, если вы пытаетесь использовать код вроде myArray.map(x => x*x)
.
Режим p5.js кажется небольшим проектом с очень небольшим количеством нового кода за последний год, поэтому я бы не стал задерживать дыхание на исправлении. описание на github проекта в одном месте говорит:
As with the rest of Processing, if you outgrow this setup, you should use another IDE or development solution (like a full-featured programmer's text editor and similar tools). We have no interest in creating a JavaScript IDE. Also like the rest of Processing, we want people to outgrow this setup.
Похоже, вы переросли настройку. Я рекомендую вместо этого использовать что-то вроде Кронштейны.
В этом есть смысл. Наконец я понял. Спасибо
Не могли бы вы выложить минимальный воспроизводимый пример? Также убедитесь, что вы действительно находитесь в режиме P5.js.