Как заставить посылку скомпилировать фазерную игру с помощью «Свойств класса»?

#phaser-framework #parceljs

Вопрос:

Я завершил учебник по фазерной игре, который отлично работал при подключении к Phaser.js библиотека в Интернете с использованием: <script src="//cdn.jsdelivr.net/npm/phaser@3.50.1/dist/phaser.js"></script>

Но теперь, когда я пытаюсь использовать Phaser локально с npm и посылкой для запуска игры, я получаю ошибку компиляции: @parcel/transformer-js: This experimental syntax requires enabling the parser plugin: 'classProperties'

Что вызвано этим типом кода:

 export default class Game extends Phaser.Scene
{
    /** @type {Phaser.Physics.Arcade.Sprite} */
    player;
 

Я ничего не могу найти в Google, кроме того, что кто-то сказал добавить плагин в мой файл package.json, так что теперь у меня есть:

 "dependencies": 
{
    "@babel/plugin-proposal-class-properties": "^7.13.0",
    "parcel": "^2.0.0-nightly.548",
    "phaser": "^3.53.1"
}
 

Что еще я могу сделать, чтобы попытаться исправить это, пожалуйста?

Ответ №1:

Вам необходимо добавить .babelrc файл в корневой каталог вашего проекта, содержащий следующий код:

 {
    "plugins": 
    [
      "@babel/plugin-proposal-class-properties"
    ]
}
 

Источник: https://robkendal.co.uk/blog/2019-05-13-configure-parcel-js-and-babel-to-use-javascript-proposal-class-properties