2015-07-16 13 views
10

Ich versuche, meine app mit browserify zu bündeln und bin immer diesen Fehler finden:
Cannot find module 'jquery' from '/home/test/node_modules/backbone'Browserify - nicht Modul ‚jquery‘

Jetzt Fragen dieser Art vor gefragt worden, aber die Lösungen haben nicht geholfen mich. Vielleicht habe ich etwas von einem einzigartigen Fall.

In einer anderen App, ausgeführt npm install jquery repariert es. Ich hatte es nicht in meinem package.json und ich brauchte jquery in keiner meiner Dateien wie was getan here. Alles hat funktioniert.

In dieser neuen App ist es nicht. Ich habe versucht, jquery mit npm neu zu installieren. Nichts. Hinzugefügt zu meinen Abhängigkeiten in package.json. Nichts. Inbegriffen es in meinem Code:

$ = require('jquery'); Backbone.$ = $;

Nichts.

Hat jemand Erfahrung damit? Was könnte schief gehen?

Edit:

Diff'd die package.json des jquery Modul in der Arbeits App und den aktuellen.

Arbeiten ein:

"url": "https://github.com/jquery/jquery.git" 
"_from": "[email protected]*" 

eines Gebrochene:

"url": "git+https://github.com/jquery/jquery.git" 
"_from": "[email protected]>=2.1.0 <3.0.0" 
"readme": "ERROR: No README data found!" 

Wenn Sie mehr Kontext (Zeilennummern, übergeordnete Eigenschaft, und so weiter) wollen, würde ich glücklich sein, dass zu liefern. Ich wollte es nur vereinfachen - vielleicht fällt etwas auf.

Edit 2:

Ändern der "url" param sollte nichts geändert. Das Ersetzen des "_from" durch das, das funktioniert, änderte nichts.

Nun, ich frage mich, warum README data nicht gefunden wird. Meine README-Dateien sind identisch. Zugegeben, ich bezweifle sehr, dass dies die Ursache des Problems ist.

bearbeiten 3:

Meine Lösung war das jquery Modul zu entfernen und nur schließen jquery.js in meiner Indexansicht. Ich bin nicht besonders glücklich damit, aber es funktioniert.

Ich möchte immer noch eine Antwort; neugierig, was vorher falsch war.

+0

ich in den gleichen Fehler lief, als ich mit 'npm link' eine Abhängigkeit Symlink, dass ich entwickelte sich außerhalb von npm. Klingt anders als deine Situation. –

+0

Ich lief auch in diese ... War Ihre Symlink Abhängigkeit erfordern Backbone, die jQuery benötigt? 'npm install jquery' von der symlink dep hat das Problem behoben ... aber ich würde auch die browserify-shim im dep-Ordner anstatt im übergeordneten Projekt einrichten. – ilovett

+0

@ilovett Vielen Dank für Ihre Hilfe. Leider war dies ein Projekt, an dem ich im Sommer gearbeitet habe und ich habe keinen Zugriff mehr auf meinen Code. Ich verstehe nicht, was genau eine Symlink-Abhängigkeit ist, aber Backbone (oder zumindest seine Views) benötigen JQuery. – pushkin

Antwort

1

Dies sollte gut mit npm install --save jquery funktionieren. Scheint, dass browserify nach jquery Modul in backbone Standort sucht. Kannst du herausfinden, warum das so ist? Haben Sie keine browserify-shim Konfigurationsfehler in Ihrem package.json?

Wenn Sie immer noch Probleme haben, können Sie browserify-shim verwenden browserify auf richtige Position zu Punkt durch diese Umsetzung in package.json

"browserify": { 
    "transform": [ 
     "browserify-shim" 
    ] 
    }, 
    "browser": { 
    "jquery": "./node_modules/yet/old/jquery/location" 
    } 
+0

Ich arbeite nicht mehr an diesem Projekt, daher kann ich Ihre Fragen weder beantworten noch Ihre Lösung testen. Danke trotzdem – pushkin

Verwandte Themen