В зависимости от того, как вы устанавливаете paper.js локально, синтаксис и функции ES6 могут работать неправильно. Вы можете столкнуться с Uncaught SyntaxError: Unexpected token
, если используете ключевые слова const
и let
или функции со стрелками и т. д.
Как это исправить
Предполагая, что у вас уже есть файл HTML, добавьте этот тег script:
<script src='https://cdnjs.cloudflare.com/ajax/libs/acorn/8.8.2/acorn.js'></script>
Полный пример использования:
<!DOCTYPE html> <html> <head> <<script type="text/javascript" src="js/paper.js"></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/acorn/8.8.2/acorn.js'></script> <script type="text/paperscript" canvas="canvas"> const path = new Path.Circle({ center: new Point(0, 0), radius: 100, fillColor: 'black' }); </script> </head> <body> <canvas id="canvas" resize></canvas> </body> </html>
Кроме того, если вы не хотите зависеть от cloudflare, вы также можете установить acorn
локально и импортировать его таким образом. На момент написания последней версией была 8.8.2
, но она может измениться к тому времени, когда вы будете это читать.
Почему это происходит
paper.js — довольно старая библиотека, и она была создана до появления ES6. Это зависит от библиотеки под названием acron
для анализа JavaScript в JavaScript, а версия acorn
, используемая в выпусках paper.js
, не поддерживает ES6.
Если paper.js обнаружит, что загружена другая версия acorn
, он будет использовать ее.