Реакция: Модуль не найден: Не удается разрешить 'xmlhttprequest' - PullRequest
0 голосов
/ 04 января 2019

Я получаю сообщение об ошибке при попытке построить проект React:

./node_modules/ethers/utils/web.js Module not found: Can't resolve 'xmlhttprequest' in '/mnt/c/Users/.../node_modules/ethers/utils'

В package.json: "dependencies": { "@material-ui/core": "^3.8.1", "@material-ui/icons": "^3.0.1", "axios": "^0.18.0", "immutability-helper": "^2.9.0", "moment": "^2.22.2", "react": "^16.7.0", "react-dom": "^16.7.0", "react-router-dom": "^4.3.1", "react-scripts": "^2.1.2" },

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Чтобы преодолеть эту проблему, вам нужно установить другую версию простых эфиров, как описано в этом выпуске:

https://github.com/trufflesuite/truffle/issues/1614#issuecomment-452158490

Точный комментарий с решением:

ethers (v4.0.0-beta.1) устанавливается как зависимость web3-eth-abi (v1.0.0-beta.37), что приводит к жалобе xmlhttprequest и в основном делает трюфель-контракт непригодным для использования. Я смог обойти это сейчас вручную подняв эфиры до версии 4.0.20.

$ npm install ethers@4.0.20

0 голосов
/ 05 января 2019

Я снова начал работать над своим проектом, не импортируя «трюфель-контракт». Вот пример React Truffle: https://github.com/truffle-box/react-box который не импортирует трюфель-контракт. Я сделал свой проект более похожим на этот. Затем мне пришлось изменить свой код, чтобы использовать интерфейс контракта, предоставленный web3: https://web3js.readthedocs.io/en/1.0/web3-eth-contract.html

...