2016-02-29 8 views
6

Ich versuche, mit Cloudinary in Meteor 1.3 Beta eingerichtet werden, und ich bin jetzt für ein NPM-Paket. Ich bin in ein größeres Problem hineingerannt, wo in einer der Paketbibliotheken eine Deklaration crypto = require('crypto'); ist, was in Ordnung ist. Ich habe gerade das Crypto-Paket über npm installiert. Aber der Client gibt mir immer noch den Fehler Uncaught Error: Cannot find module 'crypto'. … irgendwelche Vorschläge?Wo installiere ich ein Paket mit npm in Meteor 1.3, damit andere npm-Bibliotheken es benötigen

Hinweis, sind beide Module im selben Verzeichnis node_modules:

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

Dies ist insbesondere ein Meteor 1.3 Thema, da ich npm Bibliotheken

Antwort

0

Wenn das Modul A require s Modul B als Modul B bin Import muss im Verzeichnis node_modules von Modul A verfügbar sein. Das ist das Übliche, was npm und node tun und mit dem Sie wahrscheinlich vertraut sind. Es funktioniert auf die gleiche Weise in Meteor 1.3.

Wenn Sie Entwickler von Modul A sind, können Sie sich peer dependencies in npm oder npm link ansehen. Oder führen Sie einfach npm install im Modul und sehen, ob das das Problem behebt.

+0

Also benötigt jedes Modul ein Verzeichnis mit jedem Modul, von dem es abhängt? das scheint überflüssig zu sein ... Ich nehme an, dann benutze ich 'npm install' im Verzeichnis des Moduls, was mir Probleme bereitet? –

+0

Ja, versuchen Sie das. Es scheint überflüssig, aber auf der anderen Seite hilft es jedem Modul unabhängig zu sein. – bert

0

Das NPM-Paketkrypto kann nur auf der Serverseite verwendet werden, da es sich um eine integrierte Bibliothek von NodeJS handelt. Es ist eine Hochleistungsbibliothek, vielleicht ist sie also kompiliert.

Wenn Sie den Code ändern können, können Sie stattdessen eine reine js-Bibliothek zum Erstellen von Hashes wie JS Hashes verwenden.

JS Hashes kann sowohl auf der Client- als auch auf der Serverseite verwendet werden.