неизвестно Ammo.btHeightfieldTerrainShape. используя патроны js с npm и веб-пакет в браузере. как правильно инициализировать боеприпасы? - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь использовать боеприпасы. js в проекте веб-пакета (es6, target env: browser). Я установил "ammo. js" через npm и добавил в веб-пакет следующую конфигурацию для решения проблемы неизвестного модуля "fs":

  // Issue: https://github.com/kripken/emscripten/issues/6542.
  plugins: [new webpack.IgnorePlugin(/(fs)/)],

Моя проблема во время выполнения при попытке использовать В классе Ammo.btHeightfieldTerrainShape я получил ошибку «undefined», в то время как другие методы Ammo, похоже, присутствуют. Я импортирую боеприпасы так:

import * as Ammo from 'ammo.js';

(а также пробовал вот так: import Ammo from 'ammo.js';)

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

1 Ответ

0 голосов
/ 11 февраля 2020

окончательно решено .. в случае, если у кого-то еще есть такая же проблема: убедитесь, что пакет npm установлен как:

 npm init --save "kripken/ammo.js"

Я только что:

npm init --save ammo.js

и это не правильный репо. Вот почему это не было актуально. чтобы использовать с модулями, мне пришлось использовать:

import * as Ammo from 'ammo.js';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...