#node.js #express #import
#node.js #экспресс #импорт
Вопрос:
Я пытаюсь импортировать библиотеку web3 в Node.js чтобы я мог обрабатывать события смарт-контракта Ethereum, однако я не могу заставить импорт работать.
Я запускаю Babel для каждого файла для преобразования в es5, а импорт в Node index.js файл выглядит следующим образом:
import Web3 from 'web3';
Когда я добавляю инструкцию «импортировать Web3 из ‘web3′», я получаю эту ошибку:
webpack:///./node_modules/scrypt/index.js?:3
var scryptNative = __webpack_require__(!(function
webpackMissingModule() { var e = new Error("Cannot find module
'./build/Release/scrypt'"); e.code = 'MODULE_NOT_FOUND'; throw e; } .
()))
^
Error: Cannot find module './build/Release/scrypt'
at webpackMissingModule
(webpack:///./node_modules/scrypt/index.js?:3:84)
at eval (webpack:///./node_modules/scrypt/index.js?:3:181)
at Object../node_modules/scrypt/index.js
Это моя версия web3: (Однако я пробовал другие версии, которые также не работают)
"web3": "^1.0.0-beta.26"
Кто-нибудь знает, как я могу импортировать библиотеку web3 в узел? Любая помощь приветствуется.
Комментарии:
1. Вы не пропускаете некоторые кавычки?
import Web3 from 'web3';
2. Да, вы правы, не уверен, как я это пропустил. Я добавил кавычки, но теперь я получаю ошибку «scrypt», показанную выше.
3. Я бы начал с поиска этого сообщения об ошибке. На него есть много ссылок.
Ответ №1:
Имя модуля должно быть заключено в кавычки
import Web3 from 'web3';
Комментарии:
1. Теперь кажется, что зависимости npm устанавливаются неправильно. Если вы добавите
npm install
журнал, это может помочь.
Ответ №2:
Попробуйте использовать требование для этого модуля:
const web3 = require('web3');
Комментарии:
1. Да, я уже пробовал этот синтаксис, но безуспешно. Я запускаю babel для всех своих файлов, и другие инструкции «import» работают нормально.
Ответ №3:
После установки web3 с помощью npm install web3 вы можете импортировать модуль web3, используя следующую строку в вашем файле .js
var web3 = require('web3');