2016-02-29 21 views
6

Sto provando ad installarmi con il cloud in Meteor 1.3 beta, e sto andando a prendere un pacchetto NPM in questo momento. Ho incontrato un problema più grande in cui in una delle librerie del pacchetto c'è una dichiarazione crypto = require('crypto'); Che va bene. Ho appena installato il pacchetto Crypto tramite npm. Ma il client continua a darmi l'errore Uncaught Error: Cannot find module 'crypto'. … eventuali suggerimenti?Dove installo un pacchetto con npm in Meteor 1.3 in modo che altre librerie npm possano richiederlo

nota, entrambi i moduli sono nella stessa directory node_modules:

node_modules 
    crypto 
    material-ui 
    react 
    react-cloudinary 
    react-dom 
    react-mounter 
    react-tap-event-plugin 

Ciò è particolarmente un problema 1.3 Meteor dal momento che sto importare librerie NPM

risposta

0

Se il modulo A require s modulo B di modulo B deve essere disponibile nella directory node_modules del modulo A. Questa è la solita cosa che npm e node fanno e che probabilmente conoscono. Funziona allo stesso modo in meteora 1.3.

Se sei lo sviluppatore del modulo A di quello che puoi guardare su peer dependencies in npm o npm link. O esegui semplicemente npm install nel modulo e vedi se questo risolve il problema.

+0

Quindi ogni modulo necessita di una directory contenente ciascun modulo da cui dipende? sembra ridondante ... Suppongo che io usi 'npm install' nella directory del modulo dandomi problemi? –

+0

Sì, provalo. Sembra ridondante ma d'altra parte aiuta ogni modulo a essere indipendente. – bert

0

Il pacchetto crittografico NPM può essere utilizzato solo sul lato server perché è una libreria incorporata di NodeJS. È una libreria ad alte prestazioni, quindi forse è compilata.

Se è possibile modificare il codice, è possibile utilizzare una libreria js pura per la creazione di hash come JS Hashes.

Gli hash JS possono essere utilizzati sul lato client e sul lato server.