Отладка с помощью Blockly и блочных образцов

Иногда при разработке плагина в блочных сэмплах вам потребуется внести соответствующие изменения в сам Blockly. Большинство плагинов настроены на получение Blockly из реестра npm, поэтому вы сможете использовать только код, который уже был выпущен на npm. Это затруднит отладку изменений Blockly. Если вы хотите внести и протестировать изменения как в блочных, так и в блочных образцах, вы можете использовать любой из приведенных ниже методов для совместного использования невыпущенных изменений.

Вы можете указать npm использовать пакет с вашего компьютера вместо получения пакета из реестра npm. Используя этот метод, вы должны иметь доступ к исходным картам, которые упрощают отладку blockly_compressed. Вы можете использовать этот метод с изменениями в ядре, которые еще не были отправлены на GitHub.

  1. В вашем форке Blockly:

    $ npm run package
    $ cd dist
    $ npm link
    

    Эти шаги создают ядро ​​Blockly, упаковывают его, а затем создают символическую ссылку на упакованные файлы.

  2. В вашем форке блочных сэмплов:

    $ npm link blockly
    

    На этом шаге npm будет искать созданную ранее символическую ссылку, а не загружать пакет из npm.

  3. npm run start , чтобы протестировать ваш плагин.

Когда вы вносите изменения в ядро, вам придется его пересобирать и переупаковывать.

Способ 2. Получение с GitHub.

Вы можете указать npm получить пакет из GitHub, а не из реестра npm. Используя этот метод, вы должны иметь доступ к исходным картам, которые упрощают отладку blockly_compressed. Вам придется использовать версию Blockly, которая уже опубликована где-то на GitHub.

  1. Убедитесь, что раздел scripts в package.json вашего плагина содержит следующее:

    "postinstall": "blockly-scripts postinstall"
    

    Этот скрипт автоматически создаст Blockly после его установки с GitHub на более позднем этапе.

  2. Вместо указания номера версии Blockly в package.json укажите адрес git и имя ветки:

    "blockly": "git://github.com/google/blockly.git#develop"
    

    Это также может быть ссылка на ваш собственный форк Blockly, если у вас есть несвязанные изменения.

  3. npm install как обычно

  4. npm run start , чтобы протестировать ваш плагин

Когда вы вносите изменения в ядро ​​Blockly, вам придется отправить их на GitHub в указанной ветке. Кроме того, если вы хотите, чтобы npm получил новую версию с GitHub, вам придется npm uninstall blockly (или иным образом удалить ее из вашего node_modules ), а затем переустановить ее, как описано выше.

Метод 3: Продвинутая игровая площадка

Вы можете использовать расширенную игровую площадку (в ядре Blockly) для отладки вашего плагина. Используя этот метод, вы будете использовать blockly_uncompressed , который, возможно, будет проще отлаживать, поскольку вы не будете полагаться на исходные карты. Используйте этот метод, если у вас возникли проблемы с отладкой исходных карт или вы хотите протестировать свой плагин, используя функции расширенной игровой площадки.

  1. В каталоге вашего плагина в блочных сэмплах:

    $ npm run build
    $ cd dist
    $ pwd
    

    Это собирает и упаковывает ваш плагин. Затем он печатает полный путь к каталогу dist для вашего плагина. Скопируйте этот путь; он понадобится нам на следующем шаге.

  2. В блочном режиме в advanced_playground.html :

    <script src="$PATH_TO_DIST_DIR/index.js">
    

    Затем вам также необходимо выполнить любую настройку, необходимую для вашего плагина. Например, вам может потребоваться указать определенные значения в объекте параметров. Выполните эту настройку в существующей настройке рабочего пространства.

  3. Откройте расширенную игровую площадку в браузере, чтобы протестировать свой плагин.

Когда вы вносите изменения в блочном режиме, вам нужно только обновить. Когда вы вносите изменения в свой плагин, вам нужно будет повторно запустить npm run build .