Есть ли исправление / обходной путь, чтобы заставить erdJ работать с Angular 12?
Angular 12, похоже, перешел на Webpack 5, и, похоже, сборка с использованием erdJ не работает, по крайней мере, в моем случае.
Мне удалось найти несколько обходных путей, в том числе установить 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\@elrondnetwork\bls-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?
2 ответа
Для других, которые вернутся к этому вопросу в будущем. В настоящее время нет возможности использовать пакет erdjs npm в проекте angular.
Текущий обходной путь включает компиляцию пакета erdjs в его версию браузера и использование его в качестве актива в проекте.
Вы можете скомпилировать его самостоятельно, используя
yarn run compile-browser
Обходной путь дополнительно описан и продемонстрирован здесь:https://github.com/ElrondNetwork/elrond-sdk-erdjs/issues/79#issuecomment-940872053
Имеет ли смысл публиковать скомпилированную в браузере версию как отдельный пакет npm?