Узел: как я могу импортировать Web3 в Node.js ?

#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');