2015-06-25 7 views
8

Io uso browserify per la mia app client angolare. Devo usare il carattere di sottolineatura. angolare è installato con gazebo e sottolineatura è installato con NPMbrowserify source map non funziona se richiesto underscore

Questo è come io corro browserify (NPM) e creare la mappa fonte a fiato (NPM)

gulp.task('browserify', function() { 
    return browserify(dir.script_from + '/main.js', {debug: true}) 
     .bundle() 
     .pipe(source('bundle.js')) // gives streaming vinyl file object 
     .pipe(buffer()) // <----- convert from streaming to buffered vinyl file object 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(uglify()) // now gulp-uglify works 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest(dir.script_to)); 
}); 

Nei miei main.js, ho

//require('underscore') 
require('angular') 
require('angular-resource') 
require('angular-route') 
require('./home/home_page.js') 
... 

se non è necessario ('sottolineatura'), la mappa sorgente funziona. Posso visualizzare i file originali e impostare i punti di interruzione.

enter image description here

Ma se ho bisogno ('sottolineatura'), mappa sorgente non funziona più. Non riesco nemmeno a visualizzare i file.

enter image description here

Ho anche provato a installare sottolineatura con gazebo, ma ottengo il seguente errore:

[23:59:02] Starting 'browserify'... 
events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: Cannot find module 'underscore' from '/Users/[my path]/app/client/script' 

noti che entrambi gazebo (I config'ed il percorso) e moduli npm batte '/ utenti/[il mio percorso]/cartella node_modules'

ho anche provato un main.js con una sola riga: require('underscore') e non funziona, ma il file main.js vuoto funziona

+0

hai un errore? qualcosa come: "underscore is undefined" – marcel

+0

@marcel nessun errore per npm, 'can not find' per bower. – John

+1

Come hai installato 'underscore'? – marcel

risposta

1

Sto avendo lo stesso problema con underscore/browserify. Forse un modo migliore è escluderlo nel pacchetto. Basta un tag <script> che si collega al tuo file underscore. E nel pacchetto puoi usare direttamente _.

Se si utilizza angolare, si consiglia di utilizzare un separato <script> così, poiché la maggior parte degli utenti probabilmente già hanno angular disponibili da CDN per un altro sito web angolare.

3

gulp sta controllando il carattere di sottolineatura nella directory principale. Prova ad aggiungere percorso di sottolineatura in config.js o in package.json

config.js

require: ['node_modules/underscore'] 

o

package.json

"underscore": "./node_modules/underscore"