Есть ли исправление/обходной путь для работы erdJs с Angular 12?

#elrond

Вопрос:

Угловой 12, похоже, перешел на Webpack 5, и это, похоже, делает сборку с использованием erdJs не работающей, по крайней мере, в моем случае.

Мне удалось найти несколько обходных путей, включая установку crypto-browserify, stream-browserify и path-browserify и использование их в моих путях tsconfig.json, но мне все еще кажется, что мне не хватает «fs» и я получаю эту ошибку при запуске ng build или ng serve

/node_modules/@elrondnetwork/bls-wasm/bls_c.js:54:30-43 - Error: Module not found: Error: Can't resolve 'fs' in '...node_modules@elrondnetworkbls-wasm' .

Эта ошибка возникает 5 раз в 4 других файлах, расположенных в erdjs:

 @elrondnetwork/erdjs/out/smartcontracts/code.js:35:24-37
@elrondnetwork/erdjs/out/smartcontracts/typesystem/abiRegistry.js:35:24-37
@elrondnetwork/erdjs/out/smartcontracts/wrapper/contractWrapper.js:17:29-42
@elrondnetwork/erdjs/out/testutils/wallets.js:32:24-37
 

Кто-нибудь знает, как заставить erdJs работать с Angular 12?

Ответ №1:

Для других, кто придет к этому вопросу в будущем. В настоящее время нет возможности использовать пакет erdjs npm в проекте angular.

Текущий обходной путь включает компиляцию пакета erdjs до версии браузера и использование его в качестве ресурса в проекте.

Вы можете скомпилировать его самостоятельно с помощью yarn run compile-browser

Обходной путь далее описан и продемонстрирован здесь: https://github.com/ElrondNetwork/elrond-sdk-erdjs/issues/79#issuecomment-940872053