Creó un nuevo --bare
proyecto Meteor (versión 1.8).
Se usa meteor npm install --save web3
para agregar web3 al proyecto desde npmjs.org
.
En server.js
uso de código:
Web3 = require('web3')
console.log(Web3) // returns '{}'
Nada más añadido al proyecto Meteor. El uso del lado del cliente es el esperado.
Kit de herramientas: MacOS, Ganache, Truffle, Web3 versión 1
Por supuesto, descubrí que esto puede ser una consecuencia de la recursividad en las dependencias de paquetes.
¿Es este un problema conocido? ¿Es un error? ¿Cuál sería la mejor dirección a seguir para determinar la causa raíz de este problema?
Preguntas/hilos de SO relacionados:
Error de observación del evento del contrato del lado del servidor Meteor
Problema con la llamada del lado del servidor Meteor al nodo Ethereum
No se puede encontrar el meteoro del módulo 'web3'
¿Cómo se conecta a un nodo desde el lado del servidor de una aplicación de meteoritos?
Actualizar:
Después de ver muchas preguntas/problemas sin resolver sobre esto, me encontré con un problema de github existente para el seguimiento. Además, hay una publicación en los foros de Meteor , y he creado una publicación en los foros de Ethereum
En pruebas posteriores, parece haber un trabajo consistente para lograr que el require
paquete Web3 funcione en el servidor en Meteor.
Procedimiento probado en proyectos Meteor nuevos y existentes (versión 1.7/1.8):
meteor npm uninstall --save meteor-node-stubs
.meteor npm install --save web3
meteor npm install --save meteor-node-stubs
La instancia web3 ahora debería funcionar como se esperaba en el servidor Meteor, que puede verificar después de iniciar la aplicación usando meteor shell
.
Parece que hay un problema en el orden de carga de los paquetes de dependencia en conflicto, siendo el paquete ofensivo candidato crypto-browserify
.
robertodavid
web3.js
de github dist con resultados similares.oh suculento
dist
archivo y lo referencias directamente? como,require('./web3.dist.js');
? El./
asegura que hace una búsqueda directa de archivos antes denode_modules
.robertodavid
--bare
proyecto en la última versión de Meteor.robertodavid
meteor npm install --save web3
. Persiste el mismo problema.robertodavid
meteor-node-stubs
primero el paquete npm. Esto tenía un conflicto de dependencia con web3 (el paquete candidato escrypto-browserify
). Después de volver a agregar elmeteor-node-stubs
paquete después de instalar web3 en el proyecto, el conflicto parece haberse resuelto. Parece que el orden de carga de las dependencias puede haber sido el problema. Se necesitan más pruebas para determinar exactamente la solución específica. ¿Quizás otros puedan probar esta solución alternativa?oh suculento