Ich möchte eine Bibliothek verwenden, die mit browserify erstellt wurde. Die Bibliothek wurde ordnungsgemäß erstellt und funktioniert ordnungsgemäß, wenn sie selbst verwendet wird.Browser-Bibliotheken, die selbst durchsucht wurden: relative paths error
dass nun gebaut Bibliothek in meinem Anbieter/ist, und ich versuche, es in meiner neuen Anwendung zu erfordern:
var myLib = require('./vendors/myLib');
Wenn ich versuche, meine Anwendung browserify, es beschwert sich, dass es nicht kann einige der internen require
Anweisungen innerhalb dieser Bibliothek finden:
Error: Cannot find module '../utils/logger' from '/myApp/vendor'
Browserify versucht, zu sein scheint die lib aus dem falschen Verzeichnis neu zu bauen. Wie kann ich das beheben?
Weitere Besonderheiten:
Die lib sieht wie folgt aus:
myLib
│ app.js
│
├──models
│ model.js
│
├──utils
logger.js
App requires
Modell und Modell requires
Logger mit require('../utils/logger')
.
Dies wird dann in myLib.js (browserify app.js --standalone myLib > myLib.js
) erstellt.
So weit, so gut, myLib funktioniert gut.
In meiner neuen Anwendung habe ich myLib.js in das Verzeichnis/vendor, require
es als oben aufgeführt, und erhalten Sie den Fehler, dass Browserify '../utils/logger' nicht finden kann.
In dieser Situation ich tun Kontrolle myLib, so könnte es ändern, wenn absolut notwendig, aber es ist ein anderes Projekt in der Firma und ich würde es vorziehen, wenn nicht notwendig. Ich sehe jedoch at least one other question auf SO, wo jemand eindeutig das gleiche Problem mit einer Bower-installierten Drittanbieter-Bibliothek hat.
Das ist unglaublich. Die referenzierte Lib hat nur 52 Sterne, aber 200k Downloads pro Monat.Dies ist eine Funktionalität, die im Grunde eine der grundlegendsten Mechanismen ist, die benötigt wird, wenn Bibliotheken veröffentlicht werden, und dennoch ist dies der "Weg", dies zu tun: D –