2015-07-16 10 views
10

Sto cercando di impacchettare la mia app con browserify e sto ottenendo questo errore:
Cannot find module 'jquery' from '/home/test/node_modules/backbone'Browserify - non riesce a trovare il modulo 'jQuery'

Ora, le domande di questa natura è stato chiesto prima, ma le soluzioni non hanno aiutato me. Forse ho un po 'di un caso unico.

In un'altra app, in esecuzione npm install jquery risolto. Non ce l'avevo nel mio package.json e non stavo richiedendo jquery in nessuno dei miei file come quello che è stato fatto here. Tutto ha funzionato.

In questa nuova app, non è così. Ho provato a reinstallare jquery con npm. Niente. Aggiunta alle mie dipendenze in package.json. Niente. Incluso nel mio codice:

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

Niente.

Qualcuno ha esperienza con questo? Cosa potrebbe andare storto?

Edit:

Diff'd la package.json del modulo jquery in app di lavoro e di quello attuale.

lavoro uno:

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

rotto uno:

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

Se volete più rapida (numeri di riga, la proprietà genitore, e simili), sarei felice di fornire questo. Volevo solo semplificarlo, forse qualcosa si distingue.

Edit 2:

Modifica della "url" param non dovrebbe cambiato nulla. Sostituire il "_from" con quello che funziona non ha cambiato nulla.

Ora, mi chiedo perché non è stato trovato README data. I miei file README sono gli stessi. Certo, dubito fortemente che questa sia la fonte del problema.

Edit 3:

La mia soluzione era quella di rimuovere il modulo jquery e proprio includono jquery.js nel mio punto di vista indice. Non sono particolarmente soddisfatto di questo, ma funziona.

Mi piacerebbe comunque una risposta; curioso cosa c'era di sbagliato prima.

+0

Ho incontrato lo stesso errore quando stavo usando 'NPM link' al link simbolico una dipendenza che ho si stava sviluppando al di fuori di npm. Sembra diverso dalla tua situazione però. –

+0

Mi sono imbattuto anche in questo ... La tua dipendenza da symlink richiedeva Backbone che richiedeva jQuery? 'npm install jquery 'dal dep di collegamento simbolico ha risolto il problema ... ma avrei anche configurato lo shim di browserify nella cartella dep piuttosto che il genitore proejct. – ilovett

+0

@ilovett Grazie per il vostro aiuto. Sfortunatamente questo era un progetto su cui stavo lavorando durante l'estate e non ho più accesso al mio codice. Non capisco cosa sia esattamente una dipendenza da link simbolici, ma Backbone (o almeno le sue viste) richiedono JQuery. – pushkin

risposta

1

Questo dovrebbe funzionare bene con npm install --save jquery. Sembra che browserify cerchi il modulo jquery nella posizione backbone. Puoi scoprire perché è così? Non hai alcuni errori di configurazione browserify-shim nel tuo package.json?

Se avete ancora problemi è possibile utilizzare browserify-shim per puntare browserify alla posizione corretta mettendo questo in package.json

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

Non lavoro più a questo progetto, quindi non posso rispondere alle tue domande né testare la tua soluzione. Grazie comunque – pushkin