Neues --bare
Meteor-Projekt erstellt (Version 1.8).
Wird verwendet meteor npm install --save web3
, um web3 aus npmjs.org
.
Im Code server.js
verwenden:
Web3 = require('web3')
console.log(Web3) // returns '{}'
Dem Meteor-Projekt wurde nichts anderes hinzugefügt. Die clientseitige Verwendung ist wie erwartet.
Toolkit: MacOS, Ganache, Trüffel, Web3 Version 1
Ich habe natürlich entdeckt, dass dies eine Folge der Rekursion in Paketabhängigkeiten sein kann
Ist das ein bekanntes Problem? Ist es ein Fehler? Was wäre die beste Richtung, um die Ursache dieses Problems zu ermitteln?
Verwandte SO-Fragen/Threads:
Meteor serverseitiger Vertragsereignis-Überwachungsfehler
Problem mit Aufruf der Meteor-Serverseite zum Ethereum-Knoten
Modul 'web3' Meteor kann nicht gefunden werden
Wie stellen Sie von der Serverseite einer Meteor-App eine Verbindung zu einem Knoten her?
Aktualisieren:
Nachdem ich viele ungelöste Fragen/Probleme dazu gesehen habe, habe ich ein bestehendes Github- Problem zur Nachverfolgung angestossen. Zusätzlich gibt es einen Beitrag im Meteor-Forum , und ich habe einen Beitrag im Ethereum-Forum erstellt
Bei weiteren Tests scheint es eine konsistente require
Problemumgehung zu geben, um das Web3-Paket auf dem Server in Meteor zum Laufen zu bringen.
Getestete Vorgehensweise bei neuen und bestehenden Meteor-Projekten (Version 1.7/1.8):
meteor npm uninstall --save meteor-node-stubs
.meteor npm install --save web3
meteor npm install --save meteor-node-stubs
Die web3-Instanz sollte jetzt wie erwartet auf dem Meteor-Server funktionieren, was Sie nach dem Start der App mit überprüfen können meteor shell
.
Es scheint, dass es ein Problem in der Ladereihenfolge von widersprüchlichen Abhängigkeitspaketen gibt, wobei das potenzielle störende Paket crypto-browserify
.
Robert David
web3.js
von github dist mit ähnlichen Ergebnissen zu verwenden.achso
dist
Datei einschließen und direkt darauf verweisen? Wie,require('./web3.dist.js');
? Das./
stellt sicher, dass vorher eine direkte Dateisuche durchgeführt wirdnode_modules
.Robert David
--bare
Projekt in der neuesten Meteor-Version handelt.Robert David
meteor npm install --save web3
. Dasselbe Problem besteht weiterhin.Robert David
meteor-node-stubs
das npm-Paket entfernt wurde. Dies hatte einen Abhängigkeitskonflikt mit web3 (Kandidatenpaket istcrypto-browserify
). Nach dem erneuten Hinzufügen desmeteor-node-stubs
Pakets nach der Installation von web3 im Projekt scheint der Konflikt behoben zu sein. Es scheint, dass die Ladereihenfolge der Abhängigkeiten das Problem gewesen sein könnte. Weitere Tests sind erforderlich, um genau die spezifische Lösung zu bestimmen. Vielleicht können andere diese 'Workaround'-Lösung testen?achso